Leetcode LCR022:环形链表II(map)

给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null

解题思路:

用Map存储遍历过的节点,如果发现节点已存在于Map中,说明为环形节点的入口,返回该节点。

public ListNode detectCycle(ListNode head) {
        ListNode node=head;
        Map map= new HashMap();
        while (node!=null){
            if(map.containsKey(node)){
                return node;
            }
            map.put(node,1);
            node=node.next;
        }
        return null;
    }

你可能感兴趣的:(leetcode,链表,算法)