技术栈

判断链表是否有回环 C

Narnat2024-10-09 15:55


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

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操作

上一篇:ElasticSearch之集群中的节点
下一篇:如何用AI两小时上线自己的小程序
相关推荐
海上Bruce
1 小时前
C primer plus (第六版)第十二章 编程练习第3题
c语言
SundayBear
1 小时前
零基础入门MQTT协议
c语言·单片机
我能坚持多久
2 小时前
D16—C语言内功之数据在内存中的存储
c语言·开发语言
福楠
3 小时前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
极客小云
3 小时前
【基于 PyQt6 的红外与可见光图像配准工具开发实战】
c语言·python·yolo·目标检测
Sarvartha
3 小时前
二分查找学习笔记
数据结构·c++·算法
Ethernet_Comm
3 小时前
从 C 转向 C++ 的过程
c语言·开发语言·c++
谦宸、墨白
5 小时前
从零开始学C++:二叉树进阶
开发语言·数据结构·c++
闲人不梦卿
6 小时前
数组和矩阵以及广义表
数据结构
爱编码的小八嘎
6 小时前
c语言对话-1.auto_ptr再回忆
c语言
热门推荐
01GitHub 镜像站点02OpenCode 入门教程:介绍 · 安装 · 配置第三方 API (如 Claude)03Claude Code Skills 实用使用手册04UV安装并设置国内源05Open Code教程(四)| 高级配置与集成06struts2 XML外部实体注入漏洞复现(CVE-2025-68493)07Linux下V2Ray安装配置指南08AI 规范驱动开发“三剑客”深度对比:Spec-Kit、Kiro 与 OpenSpec 实战指南09在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)10Antigravity AI编程工具添加和使用Skill完整教程