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
查看评论