C语言 | Leetcode C语言题解之第142题环形链表II

题目:

题解:

cpp 复制代码
struct ListNode* detectCycle(struct ListNode* head) {
    struct ListNode *slow = head, *fast = head;
    while (fast != NULL) {
        slow = slow->next;
        if (fast->next == NULL) {
            return NULL;
        }
        fast = fast->next->next;
        if (fast == slow) {
            struct ListNode* ptr = head;
            while (ptr != slow) {
                ptr = ptr->next;
                slow = slow->next;
            }
            return ptr;
        }
    }
    return NULL;
}
相关推荐
Forever Nore2 小时前
LeetCode 6 Z 字形变换 - 按行模拟
算法·leetcode
Darkwanderor2 小时前
线程概念和Linux线程
linux·c语言·c++
clear sky .2 小时前
[freertos源码阅读]task.c任务篇
c语言·开发语言
Darkwanderor3 小时前
Linux线程控制
linux·c语言·c++
wabs6663 小时前
关于哈希表【力扣383.赎金信的思考】
算法·leetcode·散列表
Darkwanderor4 小时前
多线程的互斥问题和互斥锁解决互斥问题
linux·c语言·c++
(Charon)4 小时前
【C++】手写线程安全队列:mutex + condition_variable 实现生产者消费者模型
c语言·开发语言·c++
Hhy_11074 小时前
《C++深度解构01》C++入门基础
c语言·开发语言·c++·学习·visual studio
.道阻且长.12 小时前
2.LeetCode算法习题讲解--双指针--复写零
算法·leetcode·职场和发展
To_OC14 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode