判断链表中是否有环

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

一种简单的方法描述:

  1. 设置两个链表指针p1和p2并指向链表,设置两个记录指针移动次数的变量c1和c2。
  2. 在循环中,p1每次移动2个位置,c1加2;p1每次移动一个位置,c2加1。
  3. 若是两个指针中任何一个值是0(到达链表末尾),则退出并且无环路;否则,判断两个指针值是否相等,如果相等则退出且有环路,否则,继续执行第2步。
相关推荐
独自破碎E4 分钟前
【手撕真题】合并区间
算法
big_rabbit05026 分钟前
[算法][力扣110]平衡二叉树
数据结构·算法·leetcode
二年级程序员13 分钟前
排序(五)“计数排序” 与 “各排序实际用时测量”
c语言·算法·排序算法
松☆20 分钟前
C++ 程序设计基础:从 Hello World 到数据类型与 I/O 流的深度解析
c++·算法
Book思议-22 分钟前
单链表应用:双指针【快慢指针】
数据结构
今儿敲了吗24 分钟前
41| 快速乘
数据结构·c++·笔记·学习·算法
ysa05103027 分钟前
树的定向(dfs并查集贪心)
数据结构·c++·笔记·算法·深度优先·图论
mjhcsp1 小时前
C++ A* 算法:启发式路径搜索的黄金标准
android·c++·算法
仰泳的熊猫1 小时前
题目2281:蓝桥杯2018年第九届真题-次数差
数据结构·c++·算法·蓝桥杯
blackicexs1 小时前
第九周第一天
数据结构·算法