题解 | #链表中环的入口结点#
链表中环的入口结点
http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
解题思路
这种题一般看到空间复杂度要求为O(1),而且这个环入口在哪也不确定,所以肯定要借助这个val值来判断
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};
*/
class Solution {
public:
ListNode* EntryNodeOfLoop(ListNode* pHead) {
ListNode* xx = pHead;
int res = -1;
// xx->next==NULL且为环
while(xx->next!=NULL)
{
if(xx->val > 10000)
{
xx->val = xx->val-10001;
return xx;
}
xx->val += 10001;
xx = xx->next ;
}
return NULL;
}
};