JZ-055-链表中环的入口结点

链表中环的入口结点

题目描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

题目链接: 链表中环的入口结点

代码

import java.util.ArrayList;
import java.util.List;

/**
 * 标题:链表中环的入口结点
 * 题目描述
 * 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。
 * 题目链接:
 * https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=13&&tqId=11208&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
 */
public class Jz55 {

    public ListNode entryNodeOfLoop(ListNode pHead) {
        if (pHead == null || pHead.next == null) {
            return null;
        }
        List<ListNode> nodes = new ArrayList<ListNode>();
        ListNode node = pHead;
        while (node != null) {
            if (nodes.contains(node)) {
                return node;
            } else {
                nodes.add(node);
                node = node.next;
            }
        }
        return null;
    }

    public static void main(String[] args) {
        ListNode root = new ListNode(1);
        ListNode node1 = new ListNode(2);
        ListNode node2 = new ListNode(3);
        ListNode node3 = new ListNode(4);
        ListNode node4 = new ListNode(5);

        root.next = node1;
        node1.next = node2;
        node2.next = node3;
        node3.next = node2;

        Jz55 jz55 = new Jz55();
        ListNode result = jz55.entryNodeOfLoop(root);
        System.out.println(result.val);
    }
}

【每日寄语】 生活总有不期而遇的温暖和生生不息的希望,无论什么时候都要眼看前方,满怀希望就会所向披靡。

posted @   醉舞经阁  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示