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
            
相关推荐
珍珠是蚌的眼泪19 小时前
LeetCode_二叉树1
leetcode·二叉树·层序遍历·前序遍历·中序遍历·后续遍历
爱学习的阿磊19 小时前
C++与Qt图形开发
开发语言·c++·算法
爱敲代码的TOM19 小时前
基础算法技巧总结2(算法技巧零碎点,基础数据结构,数论模板)
数据结构·算法
liu_endong19 小时前
杰发科技AC7840——打印所有GPIO的PORT配置寄存器
mcu·算法·杰发科技·autochips·车规芯片
老鼠只爱大米19 小时前
LeetCode经典算法面试题 #199:二叉树的右视图(BFS双队列法、DFS递归法等多种实现方案详细解析)
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·右视图
历程里程碑19 小时前
子串-----和为 K 的子数组
java·数据结构·c++·python·算法·leetcode·tornado
一起养小猫19 小时前
Flutter for OpenHarmony 进阶:表达式解析算法与计算器核心实现
算法·flutter·harmonyos
池央19 小时前
贪心-最长递增子序列
算法·贪心算法
We་ct19 小时前
LeetCode 383. 赎金信:解题思路+代码解析+优化实战
前端·算法·leetcode·typescript
不懒不懒20 小时前
【逻辑回归从原理到实战:正则化、参数调优与过拟合处理】
人工智能·算法·机器学习