力扣经典题:环形链表的检测与返回

1.值得背的题

复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode *detectCycle(struct ListNode *head) {
    struct ListNode*fast=head;
    struct ListNode*slow=head;
    while(fast!=NULL&&fast->next!=NULL)
    {
        slow=slow->next;
        fast=fast->next->next;
        if(slow==fast)
        {
            struct ListNode*good=fast;
            struct ListNode*bad=head;
            while(good!=bad)
            {
                good=good->next;
                bad=bad->next;
            }
            return bad;
        }
    }
    return NULL;
}
相关推荐
进击的小白菜1 分钟前
LeetCode 153. 寻找旋转排序数组中的最小值:二分查找法详解及高频疑问解析
数据结构·算法·leetcode
dog25022 分钟前
BBR 的 buffer 动力学观感
人工智能·算法
QQ_4376643141 小时前
单向循环链表C语言实现实现(全)
数据结构·windows·链表
冲帕Chompa3 小时前
图论part10 bellman_ford算法
数据结构·算法·图论
緈福的街口3 小时前
【leetcode】144. 二叉树的前序遍历
算法·leetcode
GG不是gg3 小时前
排序算法之基础排序:冒泡,选择,插入排序详解
数据结构·算法·青少年编程·排序算法
随意起个昵称3 小时前
【双指针】供暖器
算法
倒霉蛋小马3 小时前
最小二乘法拟合直线,用线性回归法、梯度下降法实现
算法·最小二乘法·直线
codists4 小时前
《算法导论(第4版)》阅读笔记:p82-p82
算法
埃菲尔铁塔_CV算法4 小时前
深度学习驱动下的目标检测技术:原理、算法与应用创新
深度学习·算法·目标检测