链表中环的入口结点

题目形容

给一个链表,若其中蕴含环,请找出该链表的环的入口结点,否则,输入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);    }}
【每日寄语】 生存总有萍水相逢的和煦和生生不息的心愿,无论什么时候都要眼看后方,满怀希望就会所向无敌。