力扣204

张开发
2026/4/20 4:50:14 15 分钟阅读

分享文章

力扣204
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val x# self.next Noneclass Solution:def detectCycle(self, head: Optional[ListNode]) - Optional[ListNode]:# 初始化快慢指针起点都是headslow fast head# 第一步快慢指针遍历找环内相遇点while fast and fast.next:slow slow.next # 慢指针每次走1步fast fast.next.next # 快指针每次走2步# 相遇 → 有环if slow fast:# 第二步从头节点出发与相遇点同步走相遇即环入口p headwhile p ! slow:p p.nextslow slow.nextreturn p # 返回入口节点# 快指针到尾 → 无环return None

更多文章