LC 速查

HOT 100索引 › B7 链表 Linked List

LC 142环形链表 IILinked List Cycle II 中等

定位链表中环的入口节点,无环时返回 null。

思路 快慢指针相遇后,一头一相遇点同速前进,再相遇即环入口(距离推导)。时间 O(n)。

class Solution:
    def detectCycle(self, head):
        slow = fast = head
        while fast and fast.next:
            slow = slow.next
            fast = fast.next.next
            if slow is fast:
                p = head
                while p is not slow:
                    p = p.next
                    slow = slow.next
                return p
        return None
← 上一题 环形链表合并两个有序链表 下一题 →