题解 | #链表中环的入口结点#
链表中环的入口结点
https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4
public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { // 获取相遇位置 ListNode slow = isReverseLoop(pHead); if (slow==null){ return null; } ListNode fast = pHead; while (fast != slow){ fast = fast.next; slow = slow.next; } return fast; } /** * 判断是否是环表 * @param head * @return */ private ListNode isReverseLoop(ListNode head){ if (head == null){ return null; } ListNode slow = head; ListNode fast = head; while (fast != null && fast.next != null){ slow = slow.next; fast = fast.next.next; if (slow == fast){ return slow; } } return null; } }