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

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

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

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

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

首先我们对情况1来画图看看解题:

其实上面得这几张图也说明了,如果链表中有环得话,那么快慢指针一定会相遇。

核心代码:
func hasCycle(head *ListNode) bool {//先定义两个指针,一个快指针,一个慢指针,都指向头fast, slow := head, headfor fast != nil && slow != nil && fast.Next != nil {slow = slow.Next      //慢指针每次走一步fast = fast.Next.Next //快指针每次走两步if slow == fast {     //当链表是有环得话,那么快慢指针一定会相遇return true}}return false
}

转载于:https://www.cnblogs.com/TimLiuDream/p/10107094.html

环形链表得golang实现相关推荐

  1. 142. 环形链表 II golang

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

  2. 141. 环形链表 golang

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

  3. leetcode142. 环形链表 II

    leetcode142. 环形链表 II 题目描述 链接: leetcode142. 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...

  4. leetcode141. 环形链表

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

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

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

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

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

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

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

  8. LeetCode实战:环形链表 II

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

  9. LeetCode实战:环形链表

    题目英文 Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linke ...

最新文章

  1. mysql 差异还原_MySQL差异转储? 还原的其他策略?
  2. Python中的eval--字符串解析
  3. 用ESP32怎么实现离线语音
  4. 连州技工学校学计算机要交多少学费,技校学费一年大约需要多少
  5. JavaScript中事件处理器中的event参数
  6. 一阶电路中的时间常数_你知道RC电路和RL电路中时间常数的来源么?
  7. 中国各省会城市经纬度位置
  8. 如何提高迅雷下载速度
  9. “我玩某宝第1年,还清所有欠款”:会挣钱的人,都活成什么样 ?
  10. Python绘制心形图案
  11. 4位先行进位加法器的vhdl程序_VHDL精密,Verilog简洁,但要写好都要遵守这25条通则...
  12. Pta题目集: 电话聊天狂人 (25 分)
  13. 使用 electron-builder 及 electron-updater 给项目配置自动更新
  14. Codeforces Round #809 (Div. 2)。D2. Chopping Carrots (Hard Version)
  15. 信号完整性分析3——阻抗和电气模型
  16. 网络音乐收费箭在弦上:下载付费成必然
  17. [项目管理-4]:软硬件项目管理 - 人月神话:项目时间管理(时间)
  18. 护卫神备份mysql_MySQL数据库备份_护卫神
  19. 飞车竞速商业游戏制作教程
  20. 三齿轮问题:三个齿轮啮合

热门文章

  1. 《Splunk智能运维实战》——第1章 游戏时间——导入数据 1.1 简介
  2. Unity3d札记 --TanksTutorial收获与总结
  3. mybatis核心数据结构详解——CacheKey
  4. Weka开发[11]—J48源代码介绍
  5. 新的blog,将会记录我的成长历程
  6. 微软提高 Microsoft 365 的漏洞奖励
  7. 华硕:警惕 Cyclops Blink 恶意软件正在攻击路由器
  8. 谷歌修复安卓System 组件中的多个 RCE 漏洞
  9. MySql数据库 - 2.启动与关闭
  10. 北京正研究“车路协同”模式,将打造自动驾驶测试专用道路