leetcode-Java-141. Linked List Cycle.java
2016-06-04 10:58
393 查看
思路:
方法1.可以使用hashset,重复返回true
方法2:使用两个指针,fast和slow,两个指针重合时
方法1.可以使用hashset,重复返回true
方法2:使用两个指针,fast和slow,两个指针重合时
public class Solution { public boolean hasCycle(ListNode head) { if (head == null) return false; HashSet<ListNode> set = new HashSet<ListNode>(); while(head!=null) { if(set.contains(head)) { return true; } set.add(head); head = head.next; } return false; } }
public class Solution { public boolean hasCycle(ListNode head) { if (head == null) return false; ListNode fast = head, slow = head; while(true) { if(fast.next != null && fast.next.next!=null) { fast = fast.next.next; slow = slow.next; }else{ return false; } if(slow == fast) { return true; } } } }
相关文章推荐
- 【Java】validAnagram同字母异序
- Java抽象
- jvm PermSize/gc/heap space 报错
- struts2之多个文件上传
- proxool+spring+hibernate 驱动bug(sqljdbc4.jar-->jtds-1.3.1.jar)
- Java辩答题
- Servlet建立一个图片验证码程序
- Java 版本
- MyEclipse创建第一个Servlet程序
- java验证码实现
- Java快排、冒泡、选择最基础的学习记录
- java学习笔记6.04正则表达式和反射机制
- java事件处理机制(自定义事件)
- Struts2 文件上传,下载,删除
- 使用Spring开发中,service接口或者是dao层接口无法注入
- SSM(Spring MVC+Spring+Mybatic)介绍
- JAVA 强引用、软引用、弱引用、虚引用
- Java多线程初探——yield()方法与join()方法
- 设计模式之观察者模式(有源码简单实现及java函数简单实现)
- (第19讲)java组件(总结)