Skip to content
进阶

一句话答案

链表核心操作:反转(三指针迭代)、检测环(快慢指针)、合并有序(归并)、找中间节点(快慢指针)。

核心要点

反转链表: prev=null, curr=head, 循环 {next=curr.next; curr.next=prev; prev=curr; curr=next}

检测环: 快2慢1,相遇有环;找入口:一个从head一个从相遇点同速走再相遇

高频题: 反转链表 / K个一组翻转 / 合并K个有序(小顶堆) / 回文链表(找中点+反转后半)

追问与易错

追问方向:

  • 反转链表递归和迭代哪个好?
  • 找链表倒数第 K 个节点?
  • 判断回文链表怎么做?

易错点:

  • ❌ 链表操作不需要考虑空指针——边界条件最容易出错
  • ❌ 快慢指针只能检测环——还能找中点/倒数第K个

💡 记忆锚点

链表两大武器:三指针反转(prev/curr/next像传球,每次把curr的箭头掉头指向prev,三人依次前进)和快慢指针(快2慢1:相遇就有环,慢到终点就是中点,快先走K步慢再出发就找到倒数第K个)。链表题的命门是空指针——永远先检查node和node.next是否为null。