怎么找到链表环的入口
https://leetcode-cn.com/problems/find-the-duplicate-number/solution/kuai-man-zhi-zhen-de-jie-shi-cong-damien_undoxie-d/
看了半天 记录一下
首先 设置一个快慢指针 快指针 fast 一次走两步 慢指针 slow 一次走一步
如果链表有环 那么快慢指针一定会在链表中相遇
相遇时 fast指针 走了 2n 步 , slow 指针走了 n步
设 环的 长度为 c 那么 n%c == 0
再设 起点 到 环的距离 为 m 这里最巧妙
slow指针在环中走过的距离是 n-m
因为 n%c == 0
所以slow指针再前进 m 步 刚好到环的入口
再指针上体现为 快慢指针前进 快慢指针相遇 指针起点为新指针 finder
finder指针 和slow指针 同时前进 知道两者相遇 这个点就是 环的入口