文章目录
-
- 一、题目
- 二、思路
- 三、代码
一、题目
https://leetcode.cn/problems/linked-list-cycle-ii/description/
二、思路
总体是两次相遇解决
首先,快指针速度2,满指针速度1,lenf=2 lens
其次,相遇时,lenf=lens+nb
由以上两式可得,s=nb
从head开始到入环结点要走a +nb,slow已经走了nb,那么slow再走a步就能到入环点。
怎么让slow刚好走a步呢 ❓
让fast回到head开始和slow重新走,相遇时刚好是a步
(a是从head到入环点的距离,b是环一圈的长度)
三、代码
// Definition for singly-linked list.
//struct ListNode {
// int val;
// ListNode *next;
// ListNode(int x) : val(x), next(NULL) {}
//};
class