如何判断单链表是否有环
来源:互联网 发布:java ssh协议 编辑:程序博客网 时间:2024/05/17 04:40
方法一快慢节点的方式,如果快节点与慢节点相遇证明有环
public int hasLoop(Node node) { int hasLoop = 0; Node node1 = node; Node node2 = node; while(node2 != null && node2.next != null) { node1 = node1.next; node2 = node2.next.next; if(node1.equals(node2)) {//相遇证明有环 hasLoop = 1; break; } } return hasLoop; }
方法二两个节点node1和node2,node2每次都从头开始走,看node1和node2走的步数是否一致,如果不一致存在环
public int hasLoop2(Node node) { int hasLoop = 0; int pos1 = 0; Node node1 = node; while(node1 != null) { Node node2 = node; int pos2 = 0; while(node2 != null) { if(node2.equals(node1)) {//相遇 if(pos1 != pos2) {//走过路径不一致证明有环 hasLoop = 1; return hasLoop; }else { break; } } pos2++; node2 = node2.next; } pos1++; node1 = node1.next; } return hasLoop; }
阅读全文
0 0
- 如何判断单链表是否有环存在
- 如何判断一个单链表是否有环
- 如何判断单链表是否有环?
- 如何判断单链表是否有环
- 如何判断单链表是否有环
- 如何判断链表是否有环
- 如何判断单链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断双链表是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- 如何判断链表中是否有环
- AngularJs页面对表格进行查询,批量删除,计价
- Java项目的打包
- 10.24考试总结
- 关于select标签的value
- mysql 主从复制相关配置
- 如何判断单链表是否有环
- Spring MVC学习总结(18)——SpringMVC事务Transactional注解使用总结
- 2017.10.24 上升序列 思考记录
- Android 屏幕旋转(一):旋转设置
- linux 命令
- 【扫描线+贪心+线段树】Codeforces 458C Elections
- Linux CentOS7 安装 配置 Redis 3.2.8
- 最新androidStudio上jni开发全覆盖
- AngularJs购物车价格计算