题解 | #链表中环的入口结点#
链表中环的入口结点
https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ #include <ios> class Solution { public: ListNode* EntryNodeOfLoop(ListNode* pHead) { if (!pHead || !(pHead->next)) return nullptr; ListNode* slow = pHead; ListNode* fast = pHead; do { slow = slow->next; if (!slow) return nullptr; fast = fast->next; if (!fast) return nullptr; fast = fast->next; if (!fast) return nullptr; }while (slow!=fast); ListNode* mid = pHead; while (mid != slow) { mid=mid->next; slow=slow->next; } return slow; } };