链表
目录
1、链表建立、遍历和插入
- 实现一个链表(建立)
- 复制含有随机指针节点的链表(建立)
- 将搜索二叉树转换成双向链表(建立)
- 打印两个有序链表的公共部分(遍历)
- 判断一个链表是否为回文结构(遍历)
- 如何展出单链表中的倒数第k个元素(遍历)
- 向有序的环形单链表中插入新节点(插入)
2、链表删除
- 如何从无序链表中移除重复项
- 如何在只给定单链表中某个结点的指针的情况下删除该结点
- 在单链表中删除指定值的节点(不知头节点)
- 在单链表和双链表中删除倒数第k个结点
- 删除链表的中间节点和a/b处的节点
- 一种怪异的节点删除方式
3、链表反转
- 如何实现链表的逆序
- 反转单向和双向链表
- 反转部分单向链表
- 如何把链表相邻元素翻转
- 如何把链表以K个结点为一组进行翻转
4、环形链表
- 如何检测一个较大的单链表是否有环
- 环形单链表的约瑟夫问题
5、链表排序
- 如何对链表进行重新排序
- 将单向链表按某值划分成左边小、中间相等、右边大的形式
- 单链表的选择排序
- 单链表的归并排序
- 如何展开链接列表(遍历)
- 对链表进行插入排序
6、链表相交(两个链表)
- 如何计算两个链表所代表的数之和
- 两个单链表生成相加链表
- 两个链表分别表示两个数,头指针为低位,尾指针为高位,求和返回新链表
- 如何判断两个单链表(无环)是否交叉
- 两个单链表相交的一系列问题
7、链表合并
- 如何合并两个有序链表
- 合并两个无序链表成为有序链表
- 一个链表,奇数位升序,偶数位降序,将其转化成完全升序的链表【拆分、反转、归并】
- 按照左右半区的方式重新组合单链表(建立)