简介
数据结构与算法这一分类的文章,将采用严蔚敏《数据结构与算法》一书的顺序结合leetcode题目Go实现,实践与理论相结合的方式记录学习过程。
链表常见问题
- 节点基础操作
- 快慢指针
- 链表合并
节点增删改查
- 增删改查,反转
- 237 删除链表指定节点,画图辅助,修改值和指针指向达到删除链表节点目的
- 203 删除节点元素
- 83 有序链表删除重复元素
- 206 链表反转,画图辅助,临时节点存储,修改指针指向
快慢指针
- 876 链表中间节点,快指针两步,慢指针一步,则快指针遍历完即得到中间节点
- 141 判断链表是否有环,当快指针追上慢指针,则链表有环
- 234 判断链表是否回文序列,快慢指针找到链表中间节点,反转以中间节点为头节点的链表b,比较原链表和b,遍历到其中一个的尽头如果都相等则为回文序列
- 160 两个链表交汇节点,两个链表分叉部分的节点数差值为x,双指针分别按1步,快指针在短链表,则快指针遍历完链表时,快指针回到慢链表从头遍历,慢指针遍历完之后回到快链表,则此时快慢指针到达交汇点的节点数相等。需要注意没有交汇点时的情况判断