题解 | #链表中环的入口结点#
链表中环的入口结点
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 *low = pHead;//慢指针 ListNode *fast = pHead;//快指针 ListNode *pre = nullptr; if(!pHead){ return pre ; } while(fast->next && fast->next->next ) { fast = fast->next->next; low = low->next; if(fast == low) { ListNode *index1 = fast; ListNode *index2 = pHead; while(index1 != index2){ index1 = index1->next; index2 = index2->next; } return index1; } } return pre; } };