链表有关题目汇总

文档:知识点-7-链表题目.note

打开方式:有道云笔记,复制链接到浏览器

链接:http://note.youdao.com/noteshare?id=fcb8a0d0ca32b451a6f1e5be7e1c9838&sub=497F4CC28EBE4EE092958CFEE8C243C2


目录:

1.①NC3:链表中环的入口节点

思路:快慢指针方法判断链表是否存在环,并记录两指针相遇位置

1.②NC4:判断链表中是否有环

解法1:快慢指针

解法2:存放到集合中

2.②NC78:反转链表

2.②NC40:两个链表生成相加链表

3.NC96:判断一个链表是否为回文结构

解法1:栈

解法2:快慢指针+翻转

解法3:快慢指针+栈

解法4:list

4.①NC69:链表中倒数第k个结点

解法1:快慢指针

解法2:普通解法

4.②NC69:删除链表的倒数第n个节点

解法:快慢指针

5.① NC24:删除有序链表中重复出现的元素(不保留)

解法1:伪结点&双指针

5.② NC25:删除有序链表中重复的元素(保留)

解法1:伪结点&双指针

解法2:迭代

解法3:递归

6.①NC70:单链表的排序:

解法1:归并排序

解法2:选择排序

解法3:虚假的选择排序:交换链表中的值

6.②NC2:重排链表

解法1:划分+逆序+拼接

解法2:线性表

7.NC133:链表的奇偶重排

解法1:分离节点后合并

8.NC23:划分链表

解法1:模拟

9.NC21:链表内指定区间反转

解法1:双指针法

解法2:暴力求解

10.NC50:链表中的节点每k个一组翻转

解法1:栈

解法2:模拟法

解法3:递归

11.NC132.环形链表的约瑟夫问题:

解法1:数学 + 迭代+递归

解法2:链表

解法3:单向链表

12.①NC33:合并2个有序链表

方法1:递归

方法2:循环

12.②NC51:合并k个已排序的链表

解法1:优先级队列

解法2:递归

解法3:递归+归并排序的思路:

解法4:循环遍历

13.NC66:两个链表的第一个公共结点

解法1:双指针法

解法2:哈希

解法3:栈

解法4:求差法

有环思路:较为麻烦


猜你喜欢

转载自blog.csdn.net/lixiaohulife/article/details/112852040