下图是笔试中可能遇到有关链表的考点,跟着我一一搞定它们。
自定义的链表内部类
操作
-
添加
-
获取
- 删除
- 比较
点击下面超链接直达牛客网题目
输入两个链表,找出它们的第一个公共结点。
参考答案:
- 复制
点击下面超链接直达牛客网题目
复杂链表的复制
参考答案:
- 打印
点击下面超链接直达牛客网题目
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
参考答案:
环
快慢指针,快指针每次走两步,慢指针每次走一步
-
是否有环
若快慢指针相等则有环,否则无环。 -
环的入口
有环后,把慢指针只回链表首部,快慢指针同时各走一步,再次相等即为入口
点击此超链接直达牛客网题目
参考答案:
倒数第K个数
p指针先跑,并且记录节点数,当p指针跑了k-1个节点后,pre指针开始跑,当p指针跑到最后时,pre所指指针就是倒数第k个节点。
点击下面超链接直达牛客网题目
-
输入一个链表,输出该链表中倒数第k个结点。
参考答案:
合并
运用递归方法比较两个单链表的节点值再合并。
点击此超链接直达牛客网题目:请编写一段代码,实现两个单向有序链表的合并
参考答案:
翻转
-
按一定规律翻转后合并
点击下面超链接直达牛客网题目:
输入是一串数字,请将其转换成单链表格式之后,再进行一定规律的翻转。
参考答案:
-
每k个数一组翻转
点击此超链接直达牛客网题目
参考答案:
拓展
点击此超链接直达牛客网题目:设计一个数据结构,实现LRU Cache的功能
参考答案:
上面题目可以建议根据参考答案敲一遍,或者可以去我的下载资源那下载。
点此直达 我的资源 去下载可执行代码