/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
        val(x), next(NULL) {
    }
};
*/

class Solution {
public:
    ListNode* EntryNodeOfLoop(ListNode* pHead) {
    
        while (pHead){
            if (pHead->val >= 1){
                pHead->val = pHead->val - 10000;
                pHead = pHead->next;
            }else{
                pHead->val = pHead->val + 10000;
                return pHead;
            }
        }
        return nullptr;
    }
};
结合题目的特定解法