news 2026/6/22 23:53:34

【每天学习一点算法 2025/12/15】环形链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【每天学习一点算法 2025/12/15】环形链表

每天学习一点算法 2025/12/15

题目:环形链表

给你一个链表的头节点 head ,判断链表中是否有环。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。

如果链表中存在环 ,则返回 true 。 否则,返回 false 。

  1. 首先想到的方法就是用Map存储节点,如果遇到重复的节点说明有环。

    functionhasCycle(head:ListNode|null):boolean{if(!head||!head.next)returnfalse;constmap=newMap();while(head){if(map.has(head.next))returntrue;map.set(head,head.val);head=head.next;}returnfalse;};
  2. 「Floyd 判圈算法」(又称龟兔赛跑算法)、

    Floyd 判圈算法(Floyd’s Tortoise and Hare Algorithm)是一种空间复杂度为 O (1)的算法,用于检测链表、迭代序列等结构中是否存在环,并能找到环的入口点,核心思想是通过快慢指针的移动规律来判断环的存在。

    • 定义两个指针:慢指针(龟)每次移动 1 步,快指针(兔)每次移动 2 步。
    • 若结构中无环:快指针会先到达终点(如链表的null)。
    • 若结构中有环:快慢指针最终会在环内某个节点相遇(因为快指针在环内 “追赶” 慢指针,且步长差为 1,必然会追上)。
    functionhasCycle(head:ListNode|null):boolean{if(!head||!head.next)returnfalse;letslow:ListNode|null=head;letfast:ListNode|null=head.next;while(slow!==fast){if(!fast||!fast.next)returnfalse;slow=slow?.next||null;fast=fast.next.next;}returntrue;}

题目来源:力扣(LeetCode)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 11:03:19

DDR5和DDR4比有什么区别,值得升级吗?

随着科技的飞速发展,电脑硬件更新换代的速度越来越快,内存作为计算机中不可或缺的重要部件,一直以来都受到玩家们的关注。从DDR3到DDR4,再到现在的DDR5,每一代内存的推出,都意味着更高的性能和更好的用户体…

作者头像 李华
网站建设 2026/6/23 3:14:23

海尔智能设备HomeAssistant接入完整教程

海尔智能设备HomeAssistant接入完整教程 【免费下载链接】haier 项目地址: https://gitcode.com/gh_mirrors/ha/haier 海尔智能设备接入HomeAssistant插件是一款专为智能家居用户打造的开源集成工具,能够将海尔智家生态中的各类智能设备无缝整合到HomeAssis…

作者头像 李华
网站建设 2026/6/17 4:09:03

大学生,不狠下心来学习,就等着被卷出局!

你是不是总在想“明天再说”?是不是在课堂上走神,在自习室玩手机?是不是考前抱佛脚,考后忘光光? 大学四年,说长不长,说短不短。你现在浪费的每一天,都是在透支未来的选择权。 1.认清…

作者头像 李华
网站建设 2026/6/23 0:14:03

350M参数颠覆行业:Liquid AI轻量翻译模型重塑日英互译格局

350M参数颠覆行业:Liquid AI轻量翻译模型重塑日英互译格局 【免费下载链接】LFM2-350M-ENJP-MT 项目地址: https://ai.gitcode.com/hf_mirrors/LiquidAI/LFM2-350M-ENJP-MT 导语 Liquid AI推出的LFM2-350M-ENJP-MT模型以仅350M参数规模,实现了与…

作者头像 李华
网站建设 2026/6/15 12:07:57

幼儿园组织结构图绘制 保教团队分工可视化

良功绘图网站 (https://www.lghuitu.com ) 在学前教育行业快速发展的当下,幼儿园的规范化管理成为提升办学质量的核心支撑。组织结构图作为管理可视化的重要工具,不仅能清晰呈现幼儿园的层级关系、部门设置,更能让保教团队的分工职责一目了然…

作者头像 李华
网站建设 2026/6/23 9:53:48

40、vi 和 Vim 编辑器命令全解析

vi 和 Vim 编辑器命令全解析 1. 搜索命令 在 vi 和 Vim 编辑器中,搜索功能是非常实用的,以下是一些常用的搜索命令: | 命令 | 功能 | | ---- | ---- | | N | 反向重复搜索 | | / | 正向重复上一次搜索 | |? | 反向重复上一次搜索 | | * | 正向搜索光标下的单词,只…

作者头像 李华