环形链表
问题一:判断链表是否有环
📝题目指路:141. 环形链表 - 力扣(LeetCode) (leetcode-cn.com)
问题一思路分析
🎷首先题目已经给出了思路:
- 🎨如果链表中有某个节点,可以通过连续跟踪
next
指针再次到达,则链表中存在环
👞👞这就类似于追赶/追及
的问题,我们经常用到的是 快慢指针
👞👞
我们将上面的链表图转换为更为简单的直观图
- 🎯
fast
和slow
两个人赛跑
- 🎯fast先进入环
-
🎯等到slow
开始进入环的时候,开始追及问题
-
🎯假设 环的长度为C
-
🎯此时fast
和slow
相差C - X