判断链表中是否有环

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

一种简单的方法描述:

  1. 设置两个链表指针p1和p2并指向链表,设置两个记录指针移动次数的变量c1和c2。
  2. 在循环中,p1每次移动2个位置,c1加2;p1每次移动一个位置,c2加1。
  3. 若是两个指针中任何一个值是0(到达链表末尾),则退出并且无环路;否则,判断两个指针值是否相等,如果相等则退出且有环路,否则,继续执行第2步。
相关推荐
草莓火锅2 小时前
用c++使输入的数字各个位上数字反转得到一个新数
开发语言·c++·算法
散峰而望2 小时前
C/C++输入输出初级(一) (算法竞赛)
c语言·开发语言·c++·算法·github
摇滚侠2 小时前
StreamAPI,取出list中的name属性,返回一个新list
数据结构·list
Kuo-Teng2 小时前
LeetCode 160: Intersection of Two Linked Lists
java·算法·leetcode·职场和发展
fie88892 小时前
基于MATLAB的狼群算法实现
开发语言·算法·matlab
偷偷的卷2 小时前
【算法笔记 11】贪心策略六
笔记·算法
ZPC82103 小时前
FPGA 部署ONNX
人工智能·python·算法·机器人
_w_z_j_3 小时前
爱丽丝的人偶
算法
老前端的功夫4 小时前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
yongui478345 小时前
基于深度随机森林(Deep Forest)的分类算法实现
算法·随机森林·分类