两个方法。
第一个思路:使用hashset,不停往里面加结点,冲突的话,说明有环路。
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
import java.util.HashSet;
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead)
{
HashSet<ListNode> set = new HashSet<>();
while(pHead != null){
if(!set.add(pHead)){
return pHead;
}
pHead = pHead.next;
}
return null;
}
}