代码问题
- 不要忘记判断参数的边界情况,使用
not head.next判断链表仅有一个节点的情况 - 如果不打算利用虚拟头节点(建议使用),需要对头节点进行单独处理
- 不能对2个链表用嵌套循环,因为内层循环结束时,包含的链表无法回溯
困惑
- 怎么判断链表存在环?
- 用快慢指针法,如果慢指针能和快指针相遇,那么链表一定存在环
- 用集合法,如果走过相同的节点,那么链表一定存在环
- 如果有环,如何找到环的入口
用数学的追及问题解答,证明a=c,及slow从head出发,fast从相遇点出发,以相同速度前进,2者会在入口处相遇。
两步走:判断是否有环 + 计算入口位置
浙公网安备 33010602011771号