题目描述
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。
思路:如果链表中存在环,那么就会有重复的节点值,那么直接遍历,若当前节点值已经出现过,返回此节点即可。
import java.util.HashSet;
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead)
{
//Set求解
HashSet<Integer> set=new HashSet<>();
while(pHead!=null){
if(!set.contains(pHead.val))set.add(pHead.val);
else return pHead;
pHead=pHead.next;
}
return null;
}
}