【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;
}
相关推荐
粉色挖掘机15 小时前
矩阵在密码学的应用——希尔密码详解
线性代数·算法·机器学习·密码学
七七七七0716 小时前
【计算机网络】UDP协议深度解析:从报文结构到可靠性设计
服务器·网络·网络协议·计算机网络·算法·udp
TitosZhang16 小时前
排序算法稳定性判断
数据结构·算法·排序算法
一种乐趣16 小时前
PHP推荐权重算法以及分页
算法·php·推荐算法
ccLianLian17 小时前
计算机视觉·TagCLIP
人工智能·算法
千弥霜17 小时前
codeforces1997(div.3)E F
算法
利刃大大17 小时前
【动态规划:01背包】01背包详解 && 模板题 && 优化
c++·算法·动态规划·力扣·背包问题
im_AMBER17 小时前
算法笔记 10
笔记·学习·算法·leetcode
workflower18 小时前
FDD与其他方法的相似和区别
数据库·算法·需求分析·个人开发
电鱼智能的电小鱼1 天前
基于电鱼 AI 工控机的智慧工地视频智能分析方案——边缘端AI检测,实现无人值守下的实时安全预警
网络·人工智能·嵌入式硬件·算法·安全·音视频