算法训练营第七天|142. 环形链表 II

张开发
2026/4/20 14:05:19 15 分钟阅读

分享文章

算法训练营第七天|142. 环形链表 II
题目链接https://leetcode.cn/problems/linked-list-cycle-ii/ 视频链接https://www.bilibili.com/video/BV1if4y1d7ob一、看到题目的第一想法之前做过“反转链表”和“移除链表元素”对快慢指针有了印象。看到“环形链表 II”第一反应是“判断有环用快慢指针找入口用数学公式”。但公式推导忘了只记得结论快慢指针相遇后让一个指针从头走另一个从相遇点走再次相遇就是入口。为什么这样脑子里只有模糊印象感觉又要背公式了。二、实现过程中遇到的困难1. 边界条件处理链表无环时快指针会走到空必须判断 fast ! nullptr fast-next ! nullptr否则直接返回 nullptr。这个判断之前写反转链表时没用过一开始漏掉了。2. 初次相遇后指针重置相遇后要把其中一个指针挪回头节点另一个留在原地然后同步单步走。这个操作顺序容易乱必须画图确认。三、今日收获心得· 快慢指针不仅能判环还能精确定位入口这是链表的经典数学应用记住“两轮相遇法”比硬背公式更重要。· 链表题和数组题的本质差异数组靠下标随机访问适合二分、双指针滑动窗口链表靠指针跳跃适合快慢指针、虚拟头节点。两者思维模式不同不能混用。我的代码

更多文章