给定一个链表,判断链表中是否有环。

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:true
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:true
解释:链表中有一个环,其尾部连接到第一个节点。


示例 3:

输入:head = [1], pos = -1
输出:false
解释:链表中没有环。

进阶:

你能用 O(1)(即,常量)内存解决此问题吗?

思路:慢指针一次一步,快指针一次两步。能相遇就是有环,反之没有环。

/*** 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) {if (head == null || head.next == null) {return false;}ListNode slow = head;ListNode fast = head.next;while (slow != fast) {if (fast == null || fast.next == null) {return false;}slow = slow.next;fast = fast.next.next;}return true;}
}

leetcode141 环形链表相关推荐

  1. leetcode141. 环形链表

    leetcode141. 环形链表 题目描述 链接: leetcode141. 给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为 ...

  2. LeetCode141. 环形链表判断链表是否有环

    题目要求 原题目链接:141. 环形链表 题目要求如下: 给你一个链表的头节点 head ,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了 ...

  3. Leetcode--141. 环形链表

    给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: 输入: ...

  4. 【Leetcode刷题篇】leetcode141 环形链表II

    给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 - ...

  5. leetcode-141. 环形链表:判断链表是否成环

    题目: 这道题我使用了快慢指针的方法: public class Solution {public boolean hasCycle(ListNode head) {if(head == null){ ...

  6. 丢手帕java_java基于双向环形链表解决丢手帕问题的方法示例

    本文实例讲述了java基于双向环形链表解决丢手帕问题的方法.分享给大家供大家参考,具体如下: 问题:设编号为1.2--n的几个小孩围坐一圈,约定编号为k(1= 我们现在用一个双向环形链表来解这一问题. ...

  7. 基础数据结构【四】————环形链表与多项式

    主要演示环形列表节点的创建插入, 删除,遍历,环形链表连接 .双向链表节点的建立与插入 ,双向链表中节点的删除 以及环形链表在多项式中的应用 DEMO1:环形链表节点的创建与插入 /* [名称]:ch ...

  8. 刻意练习:LeetCode实战 -- Task09. 环形链表

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  9. LeetCode实战:环形链表 II

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a lin ...

最新文章

  1. 【阿圆实验】Consul HA 高可用方案
  2. 清华贵系的期末大作业:奋战三周,造台计算机!
  3. Python--day64--内容回顾
  4. Unity--------------------万向锁的概念
  5. 2019春季学期进度报告(十六)
  6. Android软键盘的显示与隐藏
  7. android点击通知后消失,通知栏点击后消失解决方法
  8. 利用计算机打字教学设计,《争当打字小能手》教学设计方案
  9. 设计模式(三)模版方法(行为型)
  10. 排序算法专题-希尔排序
  11. ios开发之--UITextField光标右移
  12. 《Android框架揭秘》读书笔记——JNI
  13. CSS三大特性(层叠/继承/优先)
  14. chrome浏览器无法打开网页怎么办
  15. 操作系统OS-采用分段式存储管理不会产生内部碎片
  16. 腾讯云服务器登录宝塔面板命令
  17. 照片变成二次元动漫(2)
  18. 移动通信—无线资源管理
  19. c++Tomorrow never knows?
  20. 用C语言输出当前文件夹中所有的文件名opendir

热门文章

  1. 中国电子计算机大学竞赛安徽分赛,我院学子喜获第十二届全国大学生数学竞赛安徽赛区15项一等奖...
  2. STM32移植UCGUI3.90笔记
  3. autotools使用
  4. matlab可达矩阵 结果,matlab求可达矩阵
  5. python爬虫程序自动结束-在linux下python爬虫进程发生异常时自动重启直至正常结束的方法...
  6. SpringMVC遇到的问题——GET http://localhost/spring_mvc_war_exploded/js/jquery-3.3.1.js net::ERR_ABORTED 404
  7. C语言程序设计(代码+知识点)
  8. 将 Fortinet 连接到
  9. 正则表达式:匹配Double类型,整数和小数
  10. 执行 redis-dump 报错:Error connecting to Redis on localhost:6379 (Redis::TimeoutError)