class Solution {
public:
ListNode *detectCycle(ListNode *head) {
if(head==NULL||head->next==NULL) return nullptr;
ListNode *fast=head;
ListNode *slow=head;
while(fast!=NULL&&fast->next!=NULL){
fast=fast->next->next;
slow=slow->next;
if(slow==fast)//二者开始同速移动
{
slow=head;
while(slow!=fast)
slow=slow->next,fast=fast->next;
return slow;
}
}
return NULL;
}
};
链表中环的入口节点(快慢指针)
最新推荐文章于 2023-05-05 23:43:48 发布