判断链表是否有回环 C


主要是思维,用快慢指针好一些,就是一个指针跑的快一个指针跑的慢,如果有回环,那么快的指针先完成一圈后会与慢指针再次相遇

c 复制代码
bool Node_ifhasCycle(struct Node *head) {
    Node* t = head;
    Node* q = head;

    while(t != NULL && q != NULL && q->next != NULL){
        t = t->next;
        q = q->next->next;

        if(t == q) return true;
    }

    return false;
}

一定要注意就是先判断指针是不是空再执行->next操作

相关推荐
彧azz4 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
wuyk5556 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
xx~t7 小时前
嵌入式——51单片机1
linux·c语言·单片机·嵌入式硬件·51单片机
Navigator_Z8 小时前
LeetCode //C - 1240. Tiling a Rectangle with the Fewest Squares
c语言·算法·leetcode
码行山野赴时序归途9 小时前
C语言预处理指令:编译前的“幕后导演“
c语言·开发语言
鹿角片ljp11 小时前
LeetCode 31:下一个排列|右找小,右找大,交换,右反转
java·数据结构·算法
2401_8582861111 小时前
130.【C语言】可变参数宏
c语言·开发语言
彧azz12 小时前
B树原理与C语言实现
c语言·数据结构·b树
零依赖极客12 小时前
《30 天手搓 ARM 架构零依赖纯 C 推理引擎》课程介绍与大纲
c语言·开发语言·arm开发·人工智能·嵌入式硬件·ai编程
蓝速科技12 小时前
酒店门店 AI 数字人前台场景适配与落地指南
大数据·运维·数据结构·数据库·人工智能·科技