朴素算法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 缓存

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

实际应用

(6)

LRU 缓存策略

中等

缓存淘汰常配合哈希与双链表维护访问顺序,提升处理效率。

哈希表双向链表缓存性能优化

Undo/Redo 历史记录

中等

历史记录常按节点串联,支持撤销重做与裁剪,提升处理效率。

双向链表历史记录编辑器状态管理

流式数据拼接

简单

分片流数据常按节点拼接,便于调整顺序,提升处理效率。

链表数据流

O(1) 节点删除

中等

持有节点引用时,链表可在常数时间删除移动,提升处理效率。

链表操作性能优化操作

浏览器/路由历史

简单

前进后退历史常抽象为双向链表上的游标,提升处理效率。

双向链表路由浏览器原理

循环播放列表

简单

循环播放与轮播队列常用环形链表串联节点,提升处理效率。

循环链表轮播组件播放器