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;
}
相关推荐
leoufung2 分钟前
图解除法查询问题:用 C 语言和 DFS 实现带权有向图的路径乘积
c语言·开发语言·深度优先
雨落在了我的手上3 分钟前
知识扩展:进制的详细介绍
c语言·学习
im_AMBER11 分钟前
Leetcode 67 长度为 K 子数组中的最大和 | 可获得的最大点数
数据结构·笔记·学习·算法·leetcode
charlie11451419126 分钟前
深入理解CC++的编译与链接技术8:Windows和Linux是如何搜寻动态库的?
c语言·c++·动态库·编译·编译技术
缘三水1 小时前
【C语言】12.指针(2)
c语言·开发语言·指针
dangdang___go2 小时前
文件操作c语言
c语言·开发语言
尋有緣2 小时前
力扣1327-列出指定时间段内所有的下单产品
leetcode·oracle·数据库开发
liu****3 小时前
12.C语言内存相关函数
c语言·开发语言·数据结构·c++·算法
!停3 小时前
深入理解指针(2)
c语言
FMRbpm3 小时前
栈练习--------从链表中移除节点(LeetCode 2487)
数据结构·c++·leetcode·链表·新手入门