朴素算法Bare Algo

链表

指针遍历、局部重排及复杂结构变换。

算法题

(17)

第 1 阶段:先把指针操作练顺手

先掌握链表最基础的遍历、删除、定位和拼接。重点不是背模板,而是清楚每一步谁断开、谁接上。

206. 反转链表

简单
链表递归

203. 移除链表元素

简单
递归链表

876. 链表的中间结点

简单
链表双指针

237. 删除链表中的节点

中等
链表

21. 合并两个有序链表

简单
链表递归

第 2 阶段:用 Dummy Node 和双指针处理局部重排

这一阶段开始高频出现虚拟头节点、前后指针和局部翻转。目标是把“删一个、插一个、翻一段”这些操作做稳定。

19. 删除链表的倒数第 N 个结点

中等
链表双指针

24. 两两交换链表中的节点

中等
链表递归

92. 反转链表 II

中等
链表

234. 回文链表

简单
链表双指针栈递归

160. 相交链表

简单
哈希表链表双指针

第 3 阶段:识别链表结构并处理多指针协作

从这里开始,不再只是改指针,而是要读懂链表整体结构。你会系统掌握快慢指针、相遇模型和带额外指针的节点复制。

2. 两数相加

中等
链表数学递归

141. 环形链表

简单
链表双指针哈希表

142. 环形链表 II

中等
链表双指针

138. 随机链表的复制

中等
哈希表链表

第 4 阶段:攻克复杂变换与工程设计题

最后处理链表里的综合题:分治排序、分组翻转,以及哈希表加双向链表的经典设计题。这一阶段更看重抽象能力和边界控制。

148. 排序链表

中等
链表双指针分治排序归并排序

25. K 个一组翻转链表

困难
链表递归

146. LRU 缓存

中等
哈希表链表设计双向链表