链表中环的入口节点

题目描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。
 1 /*
 2  public class ListNode {
 3     int val;
 4     ListNode next = null;
 5 
 6     ListNode(int val) {
 7         this.val = val;
 8     }
 9 }
10 */
11 import java.util.*;
12 public class Solution {
13 
14     public ListNode EntryNodeOfLoop(ListNode pHead)
15     {
16         if (pHead == null) return null;
17         Map<Integer, Boolean> vis = new HashMap<>();
18         ListNode p = pHead;
19         while (p != null) {
20             if (vis.containsKey(p.val)) {
21                 return p;
22             } else {
23                 vis.put(p.val, true);
24                 p = p.next;
25             }
26         }
27         return null;
28         
29     }
30 }

 

posted @ 2020-02-17 19:26  hyx1  阅读(113)  评论(0编辑  收藏  举报