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

相关推荐
wunaiqiezixin10 分钟前
如何在C++中实现一个单例模式?
c++·单例模式
仍然.11 分钟前
算法题目---优先级队列
算法
一个爱编程的人14 分钟前
图的相关概念
c++·算法·图论
迈巴赫车主15 分钟前
贪心算法
算法·贪心算法
星马梦缘29 分钟前
死锁与进程资源分配问题的解法
算法·操作系统·深度优先·死锁
爱炼丹的James34 分钟前
第四章 数学知识
算法
吃好睡好便好42 分钟前
矩阵旋转的计算
学习·线性代数·算法·矩阵
basketball6161 小时前
设计模式入门:2. 工厂模式详解 C++实现
开发语言·c++·设计模式
Lumbrologist1 小时前
【C++】零基础入门 · 第 16 节:智能指针
开发语言·c++
前进吧-程序员1 小时前
CRTP 与静态多态:不用虚函数也能多态
c++