判断链表中是否有环

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

一种简单的方法描述:

  1. 设置两个链表指针p1和p2并指向链表,设置两个记录指针移动次数的变量c1和c2。
  2. 在循环中,p1每次移动2个位置,c1加2;p1每次移动一个位置,c2加1。
  3. 若是两个指针中任何一个值是0(到达链表末尾),则退出并且无环路;否则,判断两个指针值是否相等,如果相等则退出且有环路,否则,继续执行第2步。
相关推荐
adam_life3 分钟前
A*算法——# P1379 八数码难题
算法·优先队列·a星算法·最优启发式搜索·哈希标记·启发式函数·已走步数+预估距离
Yungoal4 分钟前
C++基础项目结构
数据结构·c++·算法
扶摇接北海17610 分钟前
洛谷:B4477 [语言月赛 202601] 考场安排
数据结构·c++·算法
爱丽_16 分钟前
AQS 的 `state`:volatile + CAS 如何撑起原子性与可见性
java·前端·算法
2301_7887705517 分钟前
OJ模拟5
数据结构·算法
羊小猪~~20 分钟前
算法/力扣--字符串经典题目
c++·考研·算法·leetcode·职场和发展·哈希算法
攒了一袋星辰21 分钟前
10万级用户数据日更与定向推送系统的可靠性设计
java·数据库·算法
nap-joker22 分钟前
PIPE4:快速PPI预测器,用于综合的跨物种和跨物种相互作用组
算法·多模态生物医学数据分析·蛋白质互作网络
Lilixxs23 分钟前
施耐德 M580、M340 PLC 中 BOOL 类型数组地址
数据结构·plc·施耐德·m580·m340·unity pro·control expert
磊 子30 分钟前
类和对象—>析构+拷贝+运算符重载
开发语言·c++·算法