判断链表中是否有环

如下图,如何判断链表中存在环路呢?

一种简单的方法描述:

  1. 设置两个链表指针p1和p2并指向链表,设置两个记录指针移动次数的变量c1和c2。
  2. 在循环中,p1每次移动2个位置,c1加2;p1每次移动一个位置,c2加1。
  3. 若是两个指针中任何一个值是0(到达链表末尾),则退出并且无环路;否则,判断两个指针值是否相等,如果相等则退出且有环路,否则,继续执行第2步。
相关推荐
MC皮蛋侠客3 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
疯狂打码的少年3 小时前
【数据结构】队列:定义、顺序队列与链式队列
数据结构·笔记
地平线开发者4 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者4 小时前
【征程6】校准量化中HistogramObserver解析
算法
蔬菜_4 小时前
前端转全栈-day5(数组、list、set)
java·前端·数据结构·list
OuO-24 小时前
笔试强训 Day 34:ISBN 号码、kotori 和迷宫、矩阵最长递增路径
java·算法·矩阵
程序喵大人5 小时前
【C++进阶】STL算法与函数对象 - 04 find、count和any_of把查询写成意图
开发语言·c++·算法
豆沙沙包?5 小时前
c++中引用(P7-P11)
java·c++·算法
CV-X.WANG6 小时前
从零理解 ORB-SLAM3(二):系统全景、执行上下文与核心数据结构
数据结构
Doraemomo6 小时前
数据结构-二叉树
数据结构