题解 | #链表中环的入口结点#
链表中环的入口结点
https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ #include <cstddef> class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { ListNode LL = ListNode(-1); ListNode* PreHead = &LL; PreHead->next = pHead; ListNode* lower = PreHead, *faster = PreHead; while (faster->next) { faster = faster->next->next; lower = lower->next; if(!faster) return nullptr; if(faster == lower) break; } if(!faster->next) return nullptr; lower = PreHead; while (true) { lower = lower->next; faster = faster->next; if(lower == faster) break; } return lower; } };