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) { if(pHead== null){ return null; } //思路:遍历链表,然后将链表放入一个容器中,找到第一个重复的节点就是要找的 ListNode listNode = pHead; Set<ListNode> set = new HashSet<>(); while(listNode!=null){ if(set.contains(listNode)){ return listNode; }else{ set.add(listNode); listNode = listNode.next; } } return null; } }