Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?

题意:

判断一个链表是否有环。

解决方案:

双指针,快指针每次走两步,慢指针每次走一步,

如果有环,快指针和慢指针会在环内相遇,fast == slow,这时候返回true。

如果没有环,返回false.

/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public boolean hasCycle(ListNode head) {
ListNode fast = head, slow = head;
if(head == null || head.next == null) return false; while(fast != null && fast.next != null){
fast = fast.next.next;
slow = slow.next; if(fast == slow){
return true;
}
} return false;
}
}

最新文章

  1. 04-JAVA中的类和对象
  2. (原创)Louis Aston Knight 的家(摄影,欣赏)
  3. ios Swift 一些注意事项
  4. NSAssert的使用
  5. Servlet Threading Model
  6. slot signal机制
  7. Linux下Apache PHP MYSQL 默认安装路径
  8. [转]使用xftp连接centos6.5
  9. Java分布式应用技术架构
  10. BZOJ_2502_清理雪道_有源汇上下界最小流
  11. LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)
  12. 不同主机的docker容器互相通信
  13. Mysql BLOB、BLOB与TEXT区别及性能影响、将BLOB类型转换成VARCHAR类型
  14. leetcode986
  15. C#6.0语言规范(十九) 文档注释
  16. hive外部表删除遇到的一个坑
  17. VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
  18. 使用springcloud gateway搭建网关(分流,限流,熔断)
  19. oracle缩写与术语
  20. 图说使用socket建立TCP连接

热门文章

  1. C# 判断 当前设备的IP地址、默认网关、子网掩码在不在同一网段内
  2. Android签名总结
  3. Fork函数初识
  4. docker管理shipyard中文版v3.0.2更新
  5. 常用JS效果 不断进步贴 不停更新~ 纪念用~
  6. 二叉排序树(Binary Sort Tree)
  7. line-height:150%和 line-height:1.5 的区别
  8. Java并发编程核心方法与框架-Fork-Join分治编程(一)
  9. Java多线程编程核心技术--定时器
  10. Linux消息队列应用