/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode *detectCycle(struct ListNode *head) {
if(!head || !head->next) return NULL;
struct ListNode* slow=head;
struct ListNode* fast=head;
while(fast && fast->next){
slow=slow->next;
fast=fast->next->next;
if(slow==fast) break;
}
if(!fast||!fast->next) return NULL;
struct ListNode* tem=head;
while(tem!=slow){
tem=tem->next;
slow=slow->next;
}
return tem;
}
结果:
标签:II,head,slow,142,struct,fast,next,链表,ListNode From: https://www.cnblogs.com/llllmz/p/18041266