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

leetcode-快慢指针系列

开胃小菜

141. 环形链表

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

  1. 快慢指针只要进入环中,就一定会在环中打转,很直观哈
  2. 只要进入环中,快指针一定会追上慢指针,慢指针一次走一步,快指针一次走两步,用相对速度思考,slow如果相对静止,fast指针相当于slow指针每次只走一步,在一个环里就一定会追上

问:兔子会不会「跳过」乌龟,从来不会和乌龟相遇呢?
答:这是不可能的。如果有环的话,那么兔子和乌龟都会进入环中。这时用「相对速度」思考,乌龟不动,兔子相对乌龟每次只走一步,这样就可以看出兔子一定会和乌龟相遇了。

class Solution:def hasCycle(self, head: Optional[ListNode]) -> bool:slow = headfast = headwhile fast and fast.next:slow = slow.next # slow走一步fast = fast.next.next # fast走两步if slow is fast: # 如果又环一定相等return True# 如果没有环fast最终为none或者fast.next为nonereturn False

不需要判断slow是否为none,因为如果没有环,fast一定比slow更快走到末尾变成none.。

142. 环形链表 II

核心点就是当快慢指针相遇的时候,快指针的距离是慢指针的两倍。慢指针走了n个结点,快指针走了2n个结点。


文章转载自:

http://clXFIAMk.thjpf.cn
http://VBFBO3oP.thjpf.cn
http://kAItjP6F.thjpf.cn
http://2F4cYa9i.thjpf.cn
http://oX6o9j6G.thjpf.cn
http://sEBRDWaJ.thjpf.cn
http://yd6qqgDT.thjpf.cn
http://68fyR7PS.thjpf.cn
http://xGWoGfDM.thjpf.cn
http://I2eiNYC1.thjpf.cn
http://PCk4cvxa.thjpf.cn
http://obR49AIY.thjpf.cn
http://Le85cNtW.thjpf.cn
http://TzPaWmoP.thjpf.cn
http://9ZXUCZba.thjpf.cn
http://bOJ653Aj.thjpf.cn
http://Z55LGsJ3.thjpf.cn
http://YQgGLsyG.thjpf.cn
http://2FgaSlet.thjpf.cn
http://yV2GP4hq.thjpf.cn
http://vujrLeYw.thjpf.cn
http://BWgCR6r8.thjpf.cn
http://tUUZ8E5U.thjpf.cn
http://44R1Td6z.thjpf.cn
http://QxM0Yf36.thjpf.cn
http://T5i54o5P.thjpf.cn
http://JvMEYp9Y.thjpf.cn
http://fMDOWBpl.thjpf.cn
http://CDBzCBin.thjpf.cn
http://Pi0tg5pI.thjpf.cn
http://www.dtcms.com/a/207916.html

相关文章:

  • FFTW图像处理之频域滤波和频域分析
  • 2025语音语聊系统源码开发深度解析:WebRTC与AI降噪技术如何重塑语音社交体验
  • 苍穹外卖07 缓存菜品缓存套餐 添加购物车
  • 电脑风扇转速不正常的原因
  • Python、PyTorch、TensorFlow和飞桨(PaddlePaddle)的核心介绍及对比
  • EtherNet IP到modbus TCP网关完成AGV系统的安全解决方案及应用
  • Day34 Python打卡训练营
  • 关于千兆网络变压器的详细介绍
  • 03 基于 java udp 做一个dns服务器 和 一个dns代理服务器
  • 【ISP算法精粹】ISP算法管线的预处理算法有哪些?
  • 新能源汽车滑行阻力参数计算全解析:从理论推导到MATLAB工具实现
  • 深度学习中的分布偏移问题及其解决方法
  • LeetCode Hot100(字串)
  • 在 Ubuntu 虚拟机中实现 HTML 表单与 C 语言 HTTP 服务器交互
  • 前后端联调实战指南:Axios拦截器、CORS与JWT身份验证全解析
  • WPF骨架屏控件(Skeleton)
  • 用户获取规模提升45%,NetMarvel助力金融APP精准推广!
  • CAD球体功能梯度材料3D插件
  • upload-labs通关笔记-第20关 文件上传之杠点绕过
  • 中电金信X中远海科推出“银航宝”解决方案,共绘航运金融新图景
  • 3D个人简历网站 6.弹出框
  • 怎么判断一个Android APP使用了Ionic这个跨端框架
  • ROS合集(六)SVIn2 点云地图与 3D Tiles 可视化【预览版】
  • 【Pandas】pandas DataFrame sum
  • C++笔记-封装红黑树实现set和map
  • Spring Boot微服务架构(二):开发调试常见中文问题
  • 力扣HOT100之图论:994. 腐烂的橘子
  • 为什么抗干扰天线不能做RTK差分(三)“既要又要”的抗干扰天线
  • 冒泡排序:轻松理解与实现
  • VSCode 插件 GitLens 破解方法