Leetcode 142. 环形链表 II

注意的点:

1、注意里面的判断条件,虽然代码少但是其实逻辑很多。

解法:快慢指针

python 复制代码
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def detectCycle(self, head: Optional[ListNode]) -> Optional[ListNode]:

        # 快慢指针
        slow, fast = head, head

        if not head: return None

        while fast.next and fast.next.next:
            slow = slow.next
            fast = fast.next.next
            if slow == fast: break # 得放在后面
        
        if not fast.next or not fast.next.next: 
            return None

        slow = head
        while slow != fast:
            slow = slow.next
            fast = fast.next

        return fast
            
相关推荐
Geo_V2 分钟前
提示词工程
人工智能·python·算法·ai
侯小啾14 分钟前
【22】C语言 - 二维数组详解
c语言·数据结构·算法
TL滕21 分钟前
从0开始学算法——第一天(如何高效学习算法)
数据结构·笔记·学习·算法
傻童:CPU23 分钟前
DFS迷宫问题
算法·深度优先
B站_计算机毕业设计之家25 分钟前
计算机视觉:python车辆行人检测与跟踪系统 YOLO模型 SORT算法 PyQt5界面 目标检测+目标跟踪 深度学习 计算机✅
人工智能·python·深度学习·算法·yolo·目标检测·机器学习
一个不知名程序员www1 小时前
算法学习入门---前缀和(C++)
c++·算法
jackzhuoa1 小时前
Rust API 设计的零成本抽象原则:从语言基石到工程实践
算法·rust
我不是彭于晏丶2 小时前
238. 除自身以外数组的乘积
数据结构·算法
兮山与2 小时前
算法25.0
算法
爱编程的鱼2 小时前
想学编程作为今后的工作技能,学哪种语言适用性更强?
开发语言·算法·c#·bug