142.环形链表II
题意: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。
说明:不允许修改给定的链表
思路
这道题目,一共有2个问题:
判断是否有环
快慢指针
定义个fast 和slow指针,一个走两步,一个走一步,如果再途中相遇,那就证明有环。
为什么有环的话,快慢指针一定会相遇。
如下动图所示
如果有环,如何找到这个环的入口
这是一道证明题:
画个图看一下:
列个方程看一下:
fast = 2slow
slow = x&#