题解 | #链表中环的入口结点#

链表中环的入口结点

http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

/**
     * 用hashMap保存下个节点的前驱节点,当key有多个前驱节点就是入口
     *
     * @param pHead
     * @return
     */
    public static ListNode EntryNodeOfLoop(ListNode pHead) {
        Map<ListNode, ListNode> map = new HashMap<>();
        if (pHead == null || pHead.next == null) {
            return null;
        }
        ListNode next = pHead;
        while (next != null) {
            if (map.get(next.next) == null) {
                map.put(next.next, next);
            } else {
                if (next != pHead) {
                    return next.next;
                } else {
                    return next;
                }
            }
            next = next.next;
        }
        return null;
    }
算法 文章被收录于专栏

数据结构和算法

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务