🔗 链表
链表是高频考点,涵盖指针操作、快慢指针、归并排序、LRU 缓存等经典题型。
14 题 · 简单 ×5 中等 ×7 困难 ×2
| # | 题目 | 难度 |
|---|---|---|
| 160 | 相交链表 | 简单 |
| 206 | 反转链表 | 简单 |
| 234 | 回文链表 | 简单 |
| 141 | 环形链表 | 简单 |
| 21 | 合并两个有序链表 | 简单 |
| 142 | 环形链表 II | 中等 |
| 2 | 两数相加 | 中等 |
| 19 | 删除链表的倒数第 N 个结点 | 中等 |
| 24 | 两两交换链表中的节点 | 中等 |
| 138 | 随机链表的复制 | 中等 |
| 148 | 排序链表 | 中等 |
| 146 | LRU 缓存 | 中等 |
| 25 | K 个一组翻转链表 | 困难 |
| 23 | 合并 K 个升序链表 | 困难 |
核心思路
- 相交链表:两指针各自走完自己的链表后切换到对方,相遇点即为交点(路径等长)。
- 环形链表 I / II:快慢指针判环;找入环点时将一指针重置到头节点,两指针同速前进再次相遇即入环点。
- 反转链表:迭代三指针或递归。
- 回文链表:快慢指针找中点 → 反转后半段 → 比较。
- 删除倒数第 N 个节点:双指针,快指针先走 N 步,再同步前进直到快指针到尾。
- 随机链表复制:哈希表映射旧节点到新节点,两次遍历分别建节点和连接 next/random。
- 排序链表:归并排序,快慢指针找中点后递归,O(n log n),O(log n) 空间。
- LRU 缓存:哈希表 + 双向链表,O(1) 实现 get 和 put。
- 合并 K 个升序链表:最小堆(每次取堆顶合并)或分治归并。