题解 | 链表中环的入口结点
链表中环的入口结点
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) { if(pHead->next == nullptr) return nullptr; ListNode* slow = pHead->next; ListNode* fast = pHead->next->next; while((fast != nullptr && fast->next != nullptr) && fast != slow){ fast = fast->next->next; slow = slow ->next; }; if(fast == nullptr || fast->next == nullptr) return nullptr; ListNode* curr = pHead; while(curr != slow){ curr = curr->next; slow = slow ->next; } return curr; } };