题解 | #链表中环的入口结点#
链表中环的入口结点
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 == nullptr) return nullptr; ListNode* fast = pHead, *slow = pHead; while (fast) { //不存在环返回nullptr if (fast->next == nullptr || fast->next->next == nullptr) return nullptr; slow = slow->next; fast = fast->next->next; if (fast == slow) break; } fast = pHead; while (fast != slow) { fast = fast->next; slow = slow->next; } return slow; } };