JZ23 链表中环的入口结点
题源 👉 链表中环的入口结点_牛客题霸_牛客网 (nowcoder.com)
题目描述:
具体实现:
方法一:双指针 题解 | #链表中环的入口结点#_牛客博客 (nowcoder.net)
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead) {
if(pHead == null)
return null;
ListNode fast = pHead;
ListNode slow = pHead;
while(fast != null && fast.next != null){
fast = fast.next.next;
slow = slow.next;
if(fast == slow)
break;
}
if(fast == null || fast.next == null) return null; // 无环
fast = pHead; // 快指针回到表头
while(fast != slow){
fast = fast.next;
slow = slow.next;
}
return slow;
}
}
时间:O(n)
空间:O(1)