题解 | #链表中环的入口结点#
链表中环的入口结点
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 *low = pHead;//慢指针
ListNode *fast = pHead;//快指针
ListNode *pre = nullptr;
if(!pHead){
return pre ;
}
while(fast->next && fast->next->next )
{
fast = fast->next->next;
low = low->next;
if(fast == low)
{
ListNode *index1 = fast;
ListNode *index2 = pHead;
while(index1 != index2){
index1 = index1->next;
index2 = index2->next;
}
return index1;
}
}
return pre;
}
};
腾讯成长空间 5877人发布