题目描述:
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。
解题思路:
使用hashset来存储节点,当遇到第一个在链表中重复出现的节点就是环的入口。
代码(java):
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
import java.util.*;
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead)
{
if(pHead==null)return null;
HashSet<ListNode> set=new HashSet<ListNode>();
while(pHead!=null){
if(set.contains(pHead))return pHead;
set.add(pHead);
pHead=pHead.next;
}
return null;
}
}