Java 数据结构——单链表面试题(一)
本次内容介绍大纲

接上篇 Java——数据结构之单链表
在上一篇文章中,我们介绍了单链表的各个方法的实现,这次我们将通过简单的单链表面试题(以牛客网及 Leetcode 的链表题为主)来深入了解 单链表的知识结构。
一、移除链表元素
1.题目要求

2.思路实现
在上一篇博客 单链表的实现功能中 我们有一个删除第一次出现 key 关键字的节点的方法,这次我们要删除所有 关键字为 key 的节点。
在下面的几个链表中,我们都要是删除 关键字为 45的节点。
情形一

情形二

情形三

情形四

思路总结:

3.代码实现

二、反转链表
1.题目要求

2.思路实现

实现以上链表结构.
思路一:依次头插法

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

3.代码实现
思路一代码:

思路二代码:

三、找到链表的中间节点
1.题目要求

举个例子,以下面的链表为例:

2.思路实现
思路一:

思路二:
当链表长度为奇数时


当链表长度为偶数时

同样符合题目需求,所以思路二完全正确!!
3.代码实现

好了今天的知识就分享到这里,希望大家多多练习,谢谢大家的欣赏与关注!!
感谢支持!!!
之后的单链表面试题博主会持续进行更新,欢迎各位读者大大的关注哦!!
未完待续…
转载:https://blog.csdn.net/rain67/article/details/116895081
查看评论