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

相关推荐
杜 硕15 小时前
从零开始的C++生活——第四讲
开发语言·c++·生活
lisw0515 小时前
分岔论揭示演化突变密码
开发语言·算法·数学建模
aqiu11111116 小时前
C++ TopK:使用 nth_element 快速求最小 K 个数(蓝桥杯 / LeetCode 可用)
算法
努力实干16 小时前
Qt/C++ 模块化设计与工程组织
开发语言·c++·qt
Suprman16 小时前
平面排版问题的数学建模与算法设计
算法·数学建模·排序算法·排版套料
FPGA信号处理16 小时前
【应用随机过程】:更新过程与马尔可夫链入门
算法·概率论
Rabitebla16 小时前
【Linux底层原理】 工具篇(二):Vim 编辑器基础操作与简单配置
linux·c++·编辑器·vim
重生之小比特16 小时前
【算法拾光】二分查找|在排序数组中查找元素的第一个和最后一个位置 + 搜索旋转排序数组
数据结构·算法·排序算法
吴可可12316 小时前
DXF与AAMA格式转换模块推荐
算法
Lhan.zzZ16 小时前
Qt:动态库模块框架设计
开发语言·c++·qt