判断链表中是否有环

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

一种简单的方法描述:

  1. 设置两个链表指针p1和p2并指向链表,设置两个记录指针移动次数的变量c1和c2。
  2. 在循环中,p1每次移动2个位置,c1加2;p1每次移动一个位置,c2加1。
  3. 若是两个指针中任何一个值是0(到达链表末尾),则退出并且无环路;否则,判断两个指针值是否相等,如果相等则退出且有环路,否则,继续执行第2步。
相关推荐
WBluuue11 分钟前
Codeforces 1087 Div2(ABCDEF)
c++·算法
Yzzz-F36 分钟前
2025 ICPC武汉邀请赛 G [根号分治 容斥原理+DP]
算法
abant241 分钟前
leetcode 114 二叉树变链表
算法·leetcode·链表
tankeven43 分钟前
HJ165 小红的优惠券
c++·算法
先积累问题,再逐次解决1 小时前
快速幂优美算法
算法
XiYang-DING1 小时前
【LeetCode】 225.用队列实现栈
算法·leetcode·职场和发展
花月C2 小时前
线性动态规划(Linear DP)
算法·动态规划·代理模式
派大星~课堂2 小时前
【力扣-148. 排序链表】Python笔记
python·leetcode·链表
hetao17338372 小时前
2025-03-24~04-06 hetao1733837 的刷题记录
c++·算法