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

leetcode142. 环形链表 II

leetcode142. 环形链表 II

题目

在这里插入图片描述

思路

集合法

  • 将节点存入set,若重复出现则说明是环

快慢指针法

  • 分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。
  • 初次相遇后,将slow设为头结点,slow和fast这两个指针每次只走一个节点, 当这两个指针相遇的时候就是环形入口的节点。

代码

集合法

class Solution:def detectCycle(self, head: Optional[ListNode]) -> Optional[ListNode]:node_set = set()current = headwhile current:if current in node_set:return currentelse:node_set.add(current)current = current.nextreturn None

快慢指针法

class Solution:def detectCycle(self, head: ListNode) -> ListNode:slow = headfast = headwhile fast and fast.next:slow = slow.nextfast = fast.next.next# If there is a cycle, the slow and fast pointers will eventually meetif slow == fast:# Move one of the pointers back to the start of the listslow = headwhile slow != fast:slow = slow.nextfast = fast.nextreturn slow# If there is no cycle, return Nonereturn None

相关文章:

  • 【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表
  • 边缘计算第二版施巍松——第七章 边缘计算资源调度
  • 基于Skywalking开发分布式监控(二)
  • Spring Security学习(四)——登陆认证(包括自定义登录页)
  • [日常使用] Shell常用命令
  • PHP+vue+mysql校园学生社团管理系统574cc
  • 【LeetCode】122. 买卖股票的最佳时机 II(中等)——代码随想录算法训练营Day32
  • react渲染流程是怎样的
  • reprod_log复现精度对比小工具
  • sql语句学习(二)--增删改
  • 算法训练营day24(补),回溯4-2
  • Python爬虫 Beautiful Soup库详解#4
  • 5 scala的函数式编程简介
  • LeetCode.145. 二叉树的后序遍历
  • Linux篇:网络基础1
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Golang-长连接-状态推送
  • LeetCode18.四数之和 JavaScript
  • vuex 笔记整理
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Yii源码解读-服务定位器(Service Locator)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 从setTimeout-setInterval看JS线程
  • 来,膜拜下android roadmap,强大的执行力
  • 目录与文件属性:编写ls
  • 那些年我们用过的显示性能指标
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 小程序01:wepy框架整合iview webapp UI
  • #微信小程序:微信小程序常见的配置传旨
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (分享)自己整理的一些简单awk实用语句
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • ***原理与防范
  • .net 验证控件和javaScript的冲突问题
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .net专家(高海东的专栏)
  • /etc/fstab 只读无法修改的解决办法
  • @angular/cli项目构建--http(2)
  • @property python知乎_Python3基础之:property
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ linux ] linux 命令英文全称及解释
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [APIO2012] 派遣 dispatching
  • [docker] Docker的私有仓库部署——Harbor
  • [IE技巧] 使IE8以单进程的模式运行
  • [JavaScript]_[初级]_[关于forof或者for...of循环语句的用法]
  • [Java安全入门]三.CC1链
  • [JS] node.js 入门
  • [Labtools 27-1429] XML parser encountered a problem in file
  • [luoguP2401] 不等数列
  • [MZ test.16]P1 评测
  • [PyQt] Pycharm 配置 PyQt 开发环境
  • [python3] 装饰器