import java.util.*;
/*
 public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}
*/
public class Solution {

    public ListNode EntryNodeOfLoop(ListNode pHead) {
        // 解题思路通过hashSet 来帮助解决,走过了节点记录下来
        if(pHead == null){
            return null;
        }

        HashSet<ListNode> nodeSet = new HashSet<>();

        while(pHead != null){
            if(nodeSet.contains(pHead)){
                return pHead;
            }
            nodeSet.add(pHead);
            pHead = pHead.next;
        }
        return null;
    }
}