兩個方法。
第一個思路:使用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;
}
}