Skip to content

链表

链表是训练指针操作最经典的结构。它不像数组那样支持随机访问,但在插入、删除、重排时更灵活,因此是面试里非常高频的线性结构专题。

识别信号

  • 输入是单链表或双链表结构
  • 需要原地修改节点连接关系(反转、删除、拆分、合并)
  • 出现”中点、倒数第 k 个、判环”等定位类问题
  • 不允许随机访问,只能顺序遍历

反例:如果需要频繁随机访问或按下标操作,用数组更合适。

怎么处理

  1. 先画出当前节点、前驱节点、后继节点分别是谁。
  2. 如果可能动到头节点,先判断要不要加虚拟头节点。
  3. 改指针之前先保存后继,避免链表断掉。
  4. 如果题目涉及”中点、环、倒数第 k 个”,优先想快慢指针。

典型实例

专题关键差异先看什么
链表题处理框架覆盖指针重排、快慢指针、合并拆分三大类虚拟头节点 + 反转三步法 + 快慢指针模板

看到什么就先想到这类

  • 出现“原地反转、删除节点、重排链表”。
  • 出现“中点、倒数第 k 个、链表有环”。
  • 出现“不能随机访问,只能顺着走”。