链表题为什么总让人一改指针就乱
链表题的难点经常不在思路,而在指针纪律。
链表题的难点经常不在思路,而在指针纪律。
也就是说,你可能知道要做什么,但一旦真正开始改指针,代码就容易乱。
为什么链表特别容易出错
因为数组很多时候只是改值,而链表是直接改关系。
一旦关系改错,后果往往是:
- 节点丢失
- 环出现
- 顺序混乱
我更看重的不是技巧,而是顺序
链表题经常要遵守一个原则:
在断开旧关系之前,先保住下一跳。
这其实是一种“操作顺序纪律”。
常见题型
- 反转链表
- 合并有序链表
- 删除指定节点
- 快慢指针找中点 / 环
这些题虽然写法不同,但共同难点都是:
- 改关系时能不能保持结构完整
结论
链表题真正要练的,不只是模板,而是:
每改一步指针之前,都清楚地知道接下来还有没有路。