代码随想录 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的链表题

相关推荐
星释3 小时前
Rust 练习册 72:多米诺骨牌与回溯算法
开发语言·算法·rust
程序喵大人4 小时前
推荐个C++高性能内存分配器
开发语言·c++·内存分配
zephyr054 小时前
深入浅出C++多态:从虚函数到动态绑定的完全指南
开发语言·c++
算法与编程之美5 小时前
提升minist的准确率并探索分类指标Precision,Recall,F1-Score和Accuracy
人工智能·算法·机器学习·分类·数据挖掘
MicroTech20255 小时前
微算法科技(NASDAQ :MLGO)混合共识算法与机器学习技术:重塑区块链安全新范式
科技·算法·区块链
码力码力我爱你5 小时前
C++静态变量依赖关系
java·jvm·c++
李牧九丶5 小时前
从零学算法1334
前端·算法
在繁华处5 小时前
C语言经典算法:汉诺塔问题
c语言·算法
le serein —f5 小时前
用go实现-反转链表
leetcode·链表·golang
加勒比之杰克5 小时前
【C++11】Lambda 表达式、可变参数、emplace_back 系列
开发语言·c++·lambda·emplace_back·可变参数模版