使用HashSet类来解决
由于HashSet 是基于 HashMap 来实现的,是一个不允许有重复元素的集合。
因为将链表中所有的结点都遍历一遍,如果有环,那么在使用HashSet.contains()方法时,结果会出现true。
表示这个结点在集合中已经存过了,既这个结点就是 环 的入口结点。
import java.util.HashSet;
public class Solution {

    public ListNode EntryNodeOfLoop(ListNode pHead) {
        HashSet<ListNode> set = new HashSet<>();
        ListNode temp = pHead;
        while(temp != null){
            if(set.contains(temp)){
                return temp;
            }
            set.add(temp);
            temp = temp.next;
        }
        return null;
    }
}