文章目录

  • ​​1.题目​​
  • ​​2.代码​​

1.题目

  • ​​题目要求​​
  • 思路:该题目需要返回链表环的起始位置

    如上图所示,按照代码快慢指针的含义他们肯定在node=-4的时候相遇,接着往后再走一个节点,刚好就是链表环的起始节点

2.代码

class Solution{
public:
LisNode* detectCycle(ListNode* head)
{
ListNode* slow=head,fast=head;
while(fast && fast->next)
{
slow=slow->next;
fast=fast->next->next;
if (slow==fast)
{
ListNode* slow2=head;
while (slow2!=slow)
{
slow2=slow2->next;
slow=slow->next;
}
return slow2;
}
}
return NULL:
}
};