题解 | #链表中环的入口结点#
链表中环的入口结点
https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { //快慢指针 //判断有环无环 ListNode* slow = pHead; for(int i = 0;i < 10000;i++) { if(slow == nullptr) return nullptr;slow = slow->next; } slow = pHead->next; ListNode* quick = pHead->next->next; while(slow != quick) //有环就会相遇 { slow = slow->next; quick = quick->next->next; } quick = pHead; while(quick != slow) { quick = quick->next; slow = slow->next; } return slow; } };