【leetcode】142.环形链表II

cpp 复制代码
struct ListNode *detectCycle(struct ListNode *head) {
    struct ListNode *fast=head;
    struct ListNode *slow=head;
    // 先用快、慢指针找到相遇点
    // 若相遇,则说明存在环
    while(fast!=NULL&&fast->next!=NULL)
    {
        fast=fast->next->next;
        slow=slow->next;
        if(fast==slow)
        {
            // 再找到环的入口
            struct ListNode *p=head;
            // x=(n-1)(y+z)+z
            while(p!=slow)
            {
                p=p->next;
                slow=slow->next;
            }
            return p;
        }
    }
    return NULL;
}
相关推荐
漂流瓶jz25 分钟前
UVA-1442 洞穴 题解答案代码 算法竞赛入门经典第二版
c++·算法·题解·aoapc·算法竞赛入门经典·uva
圣保罗的大教堂26 分钟前
leetcode 835. 图像重叠 中等
leetcode
叠层归一研究院2 小时前
基于极限自指的叠层归一宇宙结构理论——无元外部封闭系统的内生区分模型
人工智能·经验分享·算法·agi
Selvaggia3 小时前
Diffusion Model 的基本原理与模型架构
算法
wabs6664 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin034 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao5 小时前
算法50,分治归并,数组中的逆序对
java·算法
阳明山水5 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
码行山野赴时序归途6 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
别动我齐刘海6 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人