代码随想录 Leetcode142. 环形链表 II

题目:


代码(首刷看解析 2024年1月13日):

cpp 复制代码
class Solution {
public:
    ListNode *detectCycle(ListNode *head) {
        if (head == nullptr) return nullptr;
        ListNode* fast = head;
        ListNode* slow = head;
        while (true) {
            if(fast->next == nullptr || fast->next->next == nullptr) return nullptr;
            fast = fast->next->next;
            slow = slow->next;
            if(fast == slow) break;
        }
        fast = head;
        while (fast != slow) {
            fast = fast->next;
            slow = slow->next;
        }
        return fast;
    }
};

双指针解决百分之99的链表题

相关推荐
Omics Pro6 小时前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
代数狂人6 小时前
机器学习数学基础──从零开始 导读
人工智能·算法
wuminyu7 小时前
HotSpot的轻量锁与膨胀后的ObjectMonitor状态重建原理
java·linux·c语言·jvm·c++
一只小透明啊啊啊啊7 小时前
Socket、AIDL、SOME/IP
c++·mcu
Zane19947 小时前
暴力字符串匹配失配就要把文本指针往回拉,KMP凭什么能让它一直往前走
算法
Tim_108 小时前
【LeetCode】338、比特位计数
c++·算法·leetcode
木子算法8 小时前
不是重心也不是中点:费马—韦伯点、它的最优性条件与迭代求解
人工智能·算法·目标跟踪
程序员AlbertTu9 小时前
# Mantissa 使用教程 — Python 版与 C++ 版
c++·python·数值运算
Lazionr9 小时前
多态:从多种形态到运行时绑定
开发语言·c++
tryxr9 小时前
矩阵的几种基础变换
java·数据结构·算法·矩阵