当前位置: 首页 > news >正文

算法训练营第七天 | 环形链表 扭捏快指针步步退,霸道慢指针狠狠追

今日算法题:142. 环形链表 II

编写代码前想法:

在刚看到题目的时候,我觉得题目重点是如何判断链表是否有环,我初步判断应该是利用while() 进行判断,但如果没有环,该利用什么条件来进行判断的退出,没有一个合适的判断条件,可能会造成无限循环;如果将判断环的循环限制在一定范围内,那么假设有一个长度非常大的环,循环没来得及判断完就到达限制点,岂不是会造成误判无环。

在视频教程学习后,我还明白了使用快慢指针判断链表是否有环的操作方法,并知晓了找到环的第一个节点才是重点,使用双指针找入口其代码实现也更复杂些。

代码编写如下:

总结:

本题核心解决两个问题:一为判断链表是否存在环;二为找到环的入口节点。

解题第一步:快慢指针判断环的存在:

分别定义快慢指针,均从链表头 head 出发,若链表有环,快指针一定会在环内追上慢指针。若快指针遇到 NULL,说明链表无环,直接返回 NULL。

解题第二步:寻找环的入口节点:

从链表头和相遇点同时出发,每次各走 1 步,两个指针一定会在环的入口节点相遇。

题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/ 视频链接:https://www.bilibili.com/video/BV1if4y1d7ob

http://www.jsqmd.com/news/684346/

相关文章:

  • Peer-Link断了怎么办?一次生产环境M-LAG故障排查与恢复实录
  • Layui如何实现表格内部的图片点击后进入相册轮播模式
  • Android 本地音乐播放(读取系统媒体库 + MediaPlayer)
  • 从5G回看通信原理:那些课本上的概念(OFDM、多址、衰落)到底是怎么用的?
  • 双非跨考哈工大计算机,我是如何用CSAPP和真题啃下854专业课的?
  • 从原理到防御:深入解析泛洪攻击(Flood Attack)的攻防博弈
  • nli-MiniLM2-L6-H768在教育行业落地:学生问答自动归类与知识点匹配案例
  • 当AI的“记忆仓库“塞不下时,它们是怎么聪明腾地方的?
  • Python类方法怎么定义@classmethod与@staticmethod区别
  • 终极指南:5分钟掌握LunaTranslator游戏翻译工具
  • MongoDB安装
  • 大语言模型推理能力全解析:从情感分析到主题识别,一行提示搞定NLP任务(附代码)
  • Docker集群网络配置失效全复盘(跨主机通信中断的7个隐性根源)
  • Python 字典高效合并与重复键自定义处理指南
  • mysql如何配置审计日志输出_mysql audit_log_format设置
  • RoCE测试(笔记)
  • 基于CNN的情感识别模型实战:从数据增强到部署优化
  • 046、使用单元测试框架测试FreeRTOS任务与模块:从一次深夜调试说起
  • 高维非线性抛物型PDE求解:FBSDE框架与局部线性回归技术
  • Python 7 天入门 day_05:示例代码跟着敲
  • 量化感知训练QAT失效?内存带宽瓶颈难突破?,.NET 11 AI推理面试必考的4类底层陷阱与绕过方案
  • KrkrzExtract:新一代krkrz引擎资源处理工具的完整指南
  • C#怎么实现图片添加水印 C#如何用代码在图片上添加文字水印和Logo图片水印【图像】
  • 【从零到一】HTML表单<form>与<input>核心用法完全指南
  • 从STC12到STC8H:手把手教你用串口调试助手读取单片机唯一ID(附完整C51代码)
  • 收藏|2026年版 Java 程序员转型 AI 大模型开发,职业跃迁全攻略
  • 为什么说TikTokCommentScraper是评论数据采集的“智能收割机“?
  • [FastMCP设计、原理与应用-12]Provider——组件装载机,为框架按需配置功能单元与底层设施
  • 为什么你的.NET AI服务总在凌晨扩容?揭秘.NET 11 GC第4代分代压缩算法与推理负载的隐性冲突(附GC压力热力图诊断工具)
  • 避开这些坑!STM32G474读写FLASH时,关于保护、对齐和中断的避坑指南