返回全部文章

链表题为什么总让人一改指针就乱

链表题的难点经常不在思路,而在指针纪律。

链表题的难点经常不在思路,而在指针纪律。

也就是说,你可能知道要做什么,但一旦真正开始改指针,代码就容易乱。

为什么链表特别容易出错

因为数组很多时候只是改值,而链表是直接改关系。

一旦关系改错,后果往往是:

  • 节点丢失
  • 环出现
  • 顺序混乱

我更看重的不是技巧,而是顺序

链表题经常要遵守一个原则:

在断开旧关系之前,先保住下一跳。

这其实是一种“操作顺序纪律”。

常见题型

  • 反转链表
  • 合并有序链表
  • 删除指定节点
  • 快慢指针找中点 / 环

这些题虽然写法不同,但共同难点都是:

  • 改关系时能不能保持结构完整

结论

链表题真正要练的,不只是模板,而是:

每改一步指针之前,都清楚地知道接下来还有没有路。