思路:
- 快慢指针
- 快指针重新指向链表开始
ListNode *detectCycle(ListNode *head) {
ListNode *slow = head;
ListNode *fast = head;
while(slow&&fast&&fast->next){
slow=slow->next;
fast=fast->next->next;
if(slow==fast){
fast=head;
while(fast!=slow){
fast= fast->next;
slow = slow->next;
}
return slow;
}
}
return NULL;
}