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

相关推荐
!停1 分钟前
数据结构空间复杂度
java·c语言·算法
一路往蓝-Anbo2 分钟前
第 4 篇:策略模式 (Strategy) —— 算法的热插拔艺术
网络·驱动开发·stm32·嵌入式硬件·算法·系统架构·策略模式
不染尘.4 分钟前
二分算法(优化)
开发语言·c++·算法
不吃橘子的橘猫6 分钟前
Verilog HDL基础(概念+模块)
开发语言·学习·算法·fpga开发·verilog
fly啊7 分钟前
深度解析:146. LRU 缓存(哈希表 + 双向链表的艺术)
链表·缓存·散列表
苦藤新鸡9 分钟前
49.二叉树的最大路径和
数据结构·算法·深度优先
彩妙不是菜喵10 分钟前
STL精讲:list容器
开发语言·c++
源代码•宸11 分钟前
Leetcode—144. 二叉树的前序遍历【简单】
经验分享·算法·leetcode·面试·职场和发展·golang·dfs
m0_7369191016 分钟前
C++中的观察者模式
开发语言·c++·算法
Anastasiozzzz17 分钟前
LeetCodeHot100 347. 前 K 个高频元素
java·算法·面试·职场和发展