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;
}
相关推荐
夏鹏今天学习了吗1 小时前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
不忘不弃2 小时前
模拟内存分配器1
c语言
Lips6113 小时前
2026.1.20力扣刷题笔记
笔记·算法·leetcode
鱼跃鹰飞4 小时前
Leetcode347:前K个高频元素
数据结构·算法·leetcode·面试
52Hz1187 小时前
力扣24.两两交换链表中的节点、25.K个一组反转链表
算法·leetcode·链表
老鼠只爱大米7 小时前
LeetCode经典算法面试题 #160:相交链表(双指针法、长度差法等多种方法详细解析)
算法·leetcode·链表·双指针·相交链表·长度差法
老鼠只爱大米7 小时前
LeetCode经典算法面试题 #84:柱状图中最大的矩形(单调栈、分治法等四种方法详细解析)
算法·leetcode·动态规划·单调栈·分治法·柱状图最大矩形
重生之后端学习8 小时前
19. 删除链表的倒数第 N 个结点
java·数据结构·算法·leetcode·职场和发展
sycmancia8 小时前
C语言学习07——变量的作用域
c语言·学习
鹿角片ljp8 小时前
力扣14.最长公共前缀-纵向扫描法
java·算法·leetcode