Java 数据结构——单链表面试题(一)

149 阅读2分钟

文章目录

\

Java 数据结构——单链表面试题(一)

\

本次内容介绍大纲

\

在这里插入图片描述

\

  接上篇 Java——数据结构之单链表

\

  在上一篇文章中,我们介绍了单链表的各个方法的实现,这次我们将通过简单的单链表面试题(以牛客网及 Leetcode 的链表题为主)来深入了解 单链表的知识结构。

\

一、移除链表元素

\

1.题目要求

\

在这里插入图片描述

\

2.思路实现

\

  在上一篇博客 单链表的实现功能中 我们有一个删除第一次出现 key 关键字的节点的方法,这次我们要删除所有 关键字为 key 的节点。

\

  在下面的几个链表中,我们都要是删除 关键字为 45的节点。

\

情形一

在这里插入图片描述

情形二

在这里插入图片描述

情形三

在这里插入图片描述

情形四

在这里插入图片描述
\

思路总结:

在这里插入图片描述

\

3.代码实现

\

在这里插入图片描述
\

二、反转链表

\

1.题目要求

\

在这里插入图片描述
\

2.思路实现

\

在这里插入图片描述

\

实现以上链表结构.

\

思路一:依次头插法

在这里插入图片描述

思路二:利用 prev、curNext、cur 等变量进行 next 的变换

在这里插入图片描述
\

3.代码实现

\

思路一代码:

\

在这里插入图片描述

\

思路二代码:

\

在这里插入图片描述

\

三、找到链表的中间节点

\

1.题目要求

在这里插入图片描述
举个例子,以下面的链表为例:

在这里插入图片描述

\

2.思路实现

\

思路一:

在这里插入图片描述

\

思路二:

\

当链表长度为奇数时

\

在这里插入图片描述

在这里插入图片描述
\

当链表长度为偶数时

\

在这里插入图片描述
\

  同样符合题目需求,所以思路二完全正确!!

\

3.代码实现

\

在这里插入图片描述


\

  好了今天的知识就分享到这里,希望大家多多练习,谢谢大家的欣赏与关注!!


\

  感谢支持!!!


\

  之后的单链表面试题博主会持续进行更新,欢迎各位读者大大的关注哦!!


\

未完待续…