解法2 1. 若有环,两指针一定会相遇。因为每走 1 轮,fast 与 slow 的间距 +1,fast 终会追上 slow; 2. 当fast == slow时, 两指针在环中 第一次相遇 。下面分析此时fast 与 slow走过的 步数关系 : 设环中结点个数是b,则fast=2*slow, fast=slow+nb,得slow=nb 3.设head到环起点位置(不包括环起点)共有a个结点。则此时fast从head开始出发,走完a步,则必和slow指针在环起点位置相遇。 (因为相遇时slow指针走了a+nb步,刚好在环起点处) 复杂度分析 时间:O(n) 空间:...