环形链表得golang实现
给定一个链表,判断链表中是否有环。
为了表示给定链表中的环,我们使用整数 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实现相关推荐
- 142. 环形链表 II golang
142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始 ...
- 141. 环形链表 golang
141. 环形链表 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. ...
- leetcode142. 环形链表 II
leetcode142. 环形链表 II 题目描述 链接: leetcode142. 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...
- leetcode141. 环形链表
leetcode141. 环形链表 题目描述 链接: leetcode141. 给定一个链表,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为 ...
- 丢手帕java_java基于双向环形链表解决丢手帕问题的方法示例
本文实例讲述了java基于双向环形链表解决丢手帕问题的方法.分享给大家供大家参考,具体如下: 问题:设编号为1.2--n的几个小孩围坐一圈,约定编号为k(1= 我们现在用一个双向环形链表来解这一问题. ...
- 基础数据结构【四】————环形链表与多项式
主要演示环形列表节点的创建插入, 删除,遍历,环形链表连接 .双向链表节点的建立与插入 ,双向链表中节点的删除 以及环形链表在多项式中的应用 DEMO1:环形链表节点的创建与插入 /* [名称]:ch ...
- 刻意练习:LeetCode实战 -- Task09. 环形链表
背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...
- LeetCode实战:环形链表 II
背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a lin ...
- LeetCode实战:环形链表
题目英文 Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linke ...
最新文章
- mysql 差异还原_MySQL差异转储? 还原的其他策略?
- Python中的eval--字符串解析
- 用ESP32怎么实现离线语音
- 连州技工学校学计算机要交多少学费,技校学费一年大约需要多少
- JavaScript中事件处理器中的event参数
- 一阶电路中的时间常数_你知道RC电路和RL电路中时间常数的来源么?
- 中国各省会城市经纬度位置
- 如何提高迅雷下载速度
- “我玩某宝第1年,还清所有欠款”:会挣钱的人,都活成什么样 ?
- Python绘制心形图案
- 4位先行进位加法器的vhdl程序_VHDL精密,Verilog简洁,但要写好都要遵守这25条通则...
- Pta题目集: 电话聊天狂人 (25 分)
- 使用 electron-builder 及 electron-updater 给项目配置自动更新
- Codeforces Round #809 (Div. 2)。D2. Chopping Carrots (Hard Version)
- 信号完整性分析3——阻抗和电气模型
- 网络音乐收费箭在弦上:下载付费成必然
- [项目管理-4]:软硬件项目管理 - 人月神话:项目时间管理(时间)
- 护卫神备份mysql_MySQL数据库备份_护卫神
- 飞车竞速商业游戏制作教程
- 三齿轮问题:三个齿轮啮合
热门文章
- 《Splunk智能运维实战》——第1章 游戏时间——导入数据 1.1 简介
- Unity3d札记 --TanksTutorial收获与总结
- mybatis核心数据结构详解——CacheKey
- Weka开发[11]—J48源代码介绍
- 新的blog,将会记录我的成长历程
- 微软提高 Microsoft 365 的漏洞奖励
- 华硕:警惕 Cyclops Blink 恶意软件正在攻击路由器
- 谷歌修复安卓System 组件中的多个 RCE 漏洞
- MySql数据库 - 2.启动与关闭
- 北京正研究“车路协同”模式,将打造自动驾驶测试专用道路