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<ListNode> list=new HashSet<>();
        
        while (pHead!=null){
            if(list.contains(pHead)){//如果list中有该节点表示该节点出现了第二次,即为环的入口结点
                return pHead;
            }else{
                list.add(pHead);//将list中没有的节点放入list中
            }
            pHead=pHead.next;
        }
        return null;
    }
}