前言
代码随想录链表篇题目做完。对方法进行总结。
题目汇总
(1)【删除链表】:方案——增加虚拟头节点,统一操作,可以避免head为空或移动head,进行特殊处理。
(2)【设计链表】:链表的增删指定节点、获取节点数值、头部/尾部添加节点操作。方案——虚拟头节点。
(3)【反转链表】:双指针法,或者用next不太明白,多定义指针辅助位置记录。递归如何比照双指针法,进行正确传参。
(4)【两两交换链表节点】:个人方法还是定义指针辅助位置记录。参考:用虚拟头节点,指挥后两个节点交换。
(5)【删除链表的倒数第N个节点】:看到“删除”,用虚拟头节点。双指针法,类似滑动窗口。个人双指针和参考双指针移动有区别。
(6)【链表相交】:后端对齐。
(7)【环形链表】:怎么确定环?怎么找到换入口?在环内,快指针追慢指针。
总结
- 虚拟头节点
- 双指针:不要让链表断掉,不要让某个节点没有位置记录。注意指针改向顺序。