题解 | #链表中环的入口结点#
链表中环的入口结点
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* fast = pHead; ListNode* slow = pHead; while(fast && fast->next){ fast = fast->next->next; slow = slow->next; if(fast == slow){ // 通过分析知道,从head开始到入口的距离等于从相遇点到入口的距离 ListNode* meet = fast; ListNode* head = pHead; while(head != meet) { meet = meet->next; head = head->next; } return head; } } return nullptr; } };