题解 | #链表中环的入口结点#
链表中环的入口结点
http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
最简单的解法
ListNode* EntryNodeOfLoop(ListNode* pHead) {
const int INF = 10000;
while(pHead){
if(pHead->val > 10000){
pHead->val = pHead->val - 10000;
return pHead;
}
pHead->val = pHead->val + 10000;
pHead = pHead->next;
}
return nullptr;
}
按照题目的要求,节点的值1<=val<=10000, 因此每次遍历把这个值加10000,如果大于10000则说明回到了环入口; 空间复杂度O(1),时间复杂度O(n);