链表判环
来源:互联网 发布:centos 下载工具 编辑:程序博客网 时间:2024/06/15 15:00
如何判断一个单链表是否有环?有环的话返回进入环的第一个节点的值,无环的话返回-1。
从链表头节点开始遍历,一个快速每次2个单位,一个慢每次一个单位,如果过程中出现相等就代表有环,此时慢遍历依然照常遍历,另从头节点开始另一个慢遍历,前后两次慢遍历出现相等时,就是入环的第一个
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class ChkLoop { public int chkLoop(ListNode head, int adjust) { if (head == null) { return -1; } if (head.next == null || head.next.next == null || head.next.next.next == null) { return -1; } ListNode fast = head.next.next, slow = head.next; while (fast != null && fast != slow) { fast = fast.next != null ? fast.next.next : null; slow = slow.next; } if (fast == null) { return -1; } fast=head; while(fast!=slow){ fast=fast.next; slow=slow.next; } return fast.val; }}
0 0
- 链表判环
- 链表判环
- 链表判环练习
- 戏谈单向链表判环
- 链表判环、判交问题
- 链表17:链表判环
- 287. Find the Duplicate Number(链表判环)
- LeetCode 141 Linked List Cycle(链表判环)
- linked-list-cycle-ii (链表判环 并返回交点)
- 复杂链表的复制、链表判环、无环单链表判相交
- 前端开发过程中获取事件所有属性的小技巧
- 问题一 如何添加SSTab控件
- DRC错误: package to package spacing
- Wget用法、参数解释的比较好的一个文章
- 推荐系统开源软件列表汇总和点评
- 链表判环
- ECMAScript 6 扫盲
- 有关需要展示一些文本、word文档解决办法
- Java文件操作大全(2)
- Linux 6 下编译安装 PHP 5.6
- Win32 SDK中窗口全屏处理
- 条件随机场 conditional random fields 及代码实现
- win7 x64系统配置caffe的matlab接口。
- Swift基础