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

LeetCode--HOT100题(25)

目录

  • 题目描述:141. 环形链表(简单)
    • 题目接口
    • 解题思路
    • 代码
  • PS:

题目描述:141. 环形链表(简单)

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

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

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

LeetCode做题链接:LeetCode-环形链表

示例 1:
在这里插入图片描述

输入:head = [3,2,0,-4], pos = 1
输出:true
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:
在这里插入图片描述

输入:head = [1,2], pos = 0
输出:true
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:
在这里插入图片描述

输入:head = [1], pos = -1
输出:false
解释:链表中没有环。

提示:

链表中节点的数目范围是 [0, 104]
-105 <= Node.val <= 105
pos 为 -1 或者链表中的一个 有效索引 。

进阶: 你能用 O(1)(即,常量)内存解决此问题吗?

题目接口

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public boolean hasCycle(ListNode head) {}
}

解题思路

参考思路:相爱相杀的好基友-数组与链表 里面讲解了:获取倒数第k个元素获取中间位置的元素判断链表是否存在环判断环的长度,讲的很好,而且有图解
这题主要是用到了快慢指针的方法,只要里面又换,快慢指针在环内总会相遇;如果没环,快指针的next或者快指针的next.next最终会是null

代码

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public boolean hasCycle(ListNode head) {if (head == null || head.next == null) {return false;}// 定义快慢指针ListNode slow =  head;ListNode fast = head.next;// 若是环,最终会在环内相遇while (slow != fast) {// 若不是环形链表,最终会等于空if (fast == null || fast.next == null) {return false;}// 快慢指针的移动slow = slow.next;fast = fast.next.next;}return true;}
}

扩展:
如果存在环,如何判断环的长度呢?
方法是,快慢指针相遇后继续移动,直到第二次相遇。两次相遇间的移动次数即为环的长度。

成功!
在这里插入图片描述

PS:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个喔~

相关文章:

LeetCode--HOT100题(25)

目录 题目描述&#xff1a;141. 环形链表&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;141. 环形链表&#xff08;简单&#xff09; 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连…...

外卖项目,登录设计,nginx反向代理,MD5明文加密

.gitignore文件里的东西是进行排除&#xff0c;不用git进行管理。登录设计&#xff0c; controller 接收并封装参数调用service方法查询数据库封装结果并响应 登录成功后&#xff0c;生成jwt令牌 Service层 调用mapper查询数据库密码比对返回结果Mapper 编写sql语句为什么前端不…...

【云原生】kubernetes在Pod中init容器的作用和使用

目录 Pod 中 init 容器 1 init 容器特点 2 使用 init 容器 Pod 中 init 容器 Init 容器是一种特殊容器&#xff0c;在Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本。 1 init 容器特点 init 容器与普通的容器非常像&#xf…...

springboot+vue分页

java项目 导包 <!--springboot整合pagehelper--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.3.1</version></dependency>前端 vue项目…...

【linux】ssh 和adb connect区别

问&#xff1a;ssh 与ping的区别 答&#xff1a;SSH&#xff08;Secure Shell&#xff09;和Ping是两种完全不同的网络工具。 SSH是一种加密的网络协议&#xff0c;用于安全地远程管理或访问远程计算机。它提供了一种安全的通信方式&#xff0c;可以在不安全的网络上进行远程登…...

iPhone手机怎么恢复出厂设置(详解)

如果您的iPhone遇到了手机卡顿、软件崩溃、内存不足或者忘记手机解锁密码等问题&#xff0c;恢复出厂设置似乎是万能的解决方法。 什么是恢复出厂设置&#xff1f;简单来说&#xff0c;就是让手机重新变成一张白纸&#xff0c;将手机所有数据都进行格式化&#xff0c;只保留原…...

灵活利用ChatAI,减轻工作任务—语言/翻译篇

前言 ChatAI在语言和翻译方面具有重要作用。它能够帮助用户进行多语言交流、纠正错误、学习新语言、了解不同文化背景&#xff0c;并提供文本翻译与校对等功能。通过与ChatAI互动&#xff0c;我们能够更好地利用技术来拓展自己在语言领域的能力和知识&#xff0c;实现更加无障…...

【肌电图信号分析】通道肌电图并查找收缩周期的数量、振幅、最大值和持续时间(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

python 定时器,如何进行周期性的函数运行、状态检查,百分比计算?

文章大纲 schedulescheschedule线程实现1实现2实现3协程(coroutine)参考文献schedule https://stackoverflow.com/questions/373335/how-do-i-get-a-cron-like-scheduler-in-python https://docs.python.org/3/library/sched.html sche schedule import schedule import ti…...

无涯教程-Perl - fcntl函数

描述 该函数是系统fcntl()函数的Perl版本。使用FILEHANDLE上的SCALAR执行FUNCTION指定的功能。 SCALAR包含函数要使用的值,或者是任何返回信息的位置。 语法 以下是此函数的简单语法- fcntl FILEHANDLE, FUNCTION, SCALAR返回值 该函数返回0,但如果fcntl()的返回值为0,则返…...

docker 命令解析

docker命令解析的文章参考 build 和 commit build适合从头创建一个清晰干净的镜像。 build是从Dockfile产生新的镜像&#xff0c;对于使用者能清晰的知道镜像中包含了哪些内容。commit适合将已有的容器打包提供给其他使用者。 commit是从已经存在的容器产生镜像&#xff0c;这…...

Map集合 实体类对象的相互转换

一、Map转实体类 1. fastjson工具类 导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.54</version> </dependency>代码实现 Map<String, Object> authorMap n…...

用chatGPT从左右眼图片生成点云数据

左右眼图片 需求 需要将左右眼图像利用视差生成三维点云数据 先问问chatGPT相关知识 进一步问有没有现成的软件 chatGPT提到了OpenCV&#xff0c;我们让chatGPT用OpenCV写一个程序来做这个事情 当然&#xff0c;代码里面会有一些错误&#xff0c;chatGPT写的代码并不会做模…...

dy六神参数记录分析(立秋篇)

version&#xff1a; 23.9 X-SSSTUB: 搜索&#xff1a;x-tt-dt var hashMap Java.use("java.util.HashMap");hashMap.put.implementation function (a, b) {console.log("hashMap.put: ", a, b);return this.put(a, b);}https://codeooo.blog.csdn.n…...

微信-jssdk使用

需求: h5中使用微信的jsSDK,后续实现微信定位以及多图上传 微信文档 申请测试公众号 1.测试公众号进行配置 其中的域名是本地的ip地址 config接口进行权限配置,动态获取JS-SDK权限验证的签名 获取公众号accessToken以及jsTicket public static String WeChatAppId="wx…...

guava-retry使用笔记

guava-retry使用笔记 xml依赖 <dependency><groupId>com.github.rholder</groupId><artifactId>guava-retrying</artifactId><version>2.0.0</version> </dependency>使用案例 重试3次&#xff0c;每次间隔3秒 /*** 重试…...

P1226 【模板】快速幂 | 取余运算

【模板】快速幂 | 取余运算 题目描述 给你三个整数 a , b , p a,b,p a,b,p&#xff0c;求 a b m o d p a^b \bmod p abmodp。 输入格式 输入只有一行三个整数&#xff0c;分别代表 a , b , p a,b,p a,b,p。 输出格式 输出一行一个字符串 a^b mod ps&#xff0c;其中 …...

常用开源的弱口令检查审计工具

常用开源的弱口令检查审计工具 1、SNETCracker 1.1、超级弱口令检查工具 SNETCracker超级弱口令检查工具是一款开源的Windows平台的弱口令安全审计工具&#xff0c;支持批量多线程检查&#xff0c;可快速发现弱密码、弱口令账号&#xff0c;密码支持和用户名结合进行检查&am…...

云监控插件cloudmonitor安装保姆级教程

1、 需要isv把这些域名和ip加入到hosts中&#xff1b; 192.168.31.61 update.aegis.cloud.jiashan.gov.cn&#xff1b; 192.168.31.61 update.aegis.aliyun.com&#xff1b; 192.168.31.61 update2.aegis.cloud.jiashan.gov.cn&#xff1b; 192.168.31.61 update2.aegis.aliyun…...

借用和引用

文章目录 所有权引用和借用可变引用悬垂引用 所有权 Rust通过所有权来管理内存&#xff0c;最妙的是&#xff0c;这种检查只发生在编译期&#xff0c;因此对于程序运行期&#xff0c;不会有任何性能上的损失。 使用堆和栈的性能区别&#xff1a; 写入方面&#xff1a;入栈比在…...

WPF上位机9——Lambda和Linq

Lambda Linq 操作集合 使用类sql形式查询 Linq To SQL...

从0到1搭建uniapp

一、什么是uniapp UniApp是一款基于Vue.js框架的全端开发工具&#xff0c;可以实现同时开发多个平台&#xff08;包括H5、小程序、APP等&#xff09;应用的能力。使用UniApp&#xff0c;开发者只需要编写一份代码就可以快速地发布到多个平台&#xff0c;极大地提高了开发效率和…...

安全杂记 - Linux文本三剑客之awk

目录 1.什么是AWK2.正则表达式3.语法4.内置变量示例printf命令5.复现awk经典实例(1).插入几个新字段(2).格式化空白(3).筛选IPv4地址(4).筛选给定时间范围内的日志 1.什么是AWK awk、grep、sed是linux操作文本的三大利器&#xff0c;合称文本三剑客。三者的功能都是处理文本&a…...

Android 开发者选项日志存储路径

android开发者选项中存在两个item是关于系统日志的。 1.日志记录器缓冲区大小 2.在设备上永久存储日志记录器数据 一个是用来设置缓冲区大小&#xff0c;一个是用来日志存储开关及过滤。 通过分析 system/core/logcat/logcatd.rc mkdir /data/misc/logd 0770 logd log 日志的…...

jupyter lab build失败,提示需要安装版本>=12.0.0的nodejs但其实已从官网安装18.17.0版本 的解决方法

出现的问题如题目所示&#xff0c;这个问题差点要把我搞死了。。。但还是在没有重装的情况下解决了&#x1f618;。 问题来源 初衷是想安装lsp扩展&#xff0c;直接在jupyter lab网页界面的extensions中搜索lsp并点击install krassowski/jupyterlab-lsp&#xff0c;会提示需要…...

【set】个人练习-Leetcode-817. Linked List Components

题目链接&#xff1a;https://leetcode.cn/problems/linked-list-components/description/ 题目大意&#xff1a;给出一个vector<int> nums&#xff0c;其中有一些数字。再给出一个链表的头指针head&#xff0c;链表内的元素各不相同。如果链表中有某一段&#xff08;长…...

Linux IPIP隧道连通两个局域网

拓扑结构 现有两台主机&#xff0c;它们具有两个网口分别接入到不同网络中。 主机A&#xff1a; eth0&#xff1a;处于 10.0.1.2/24 网段eth1&#xff1a; 处于192.168.1.100/24 网段 主机B&#xff1a; eth0&#xff1a;处于10.0.2.3/24 网段eth1&#xff1a; 处于192.168.2…...

华为QinQ技术的基本qinq和灵活qinq 2种配置案例

基本qinq配置&#xff1a; 运营商pe设备在收到同一个公司的ce发来的的包&#xff0c;统一打上同样的vlan &#xff0c;如上图&#xff0c;同一个家公司两边统一打上vlan 2&#xff0c;等于在原内网vlan 10或20过来的包再统一打上vlan 2的标签&#xff0c;这样传输就不会和其它…...

python爬虫1:基础知识

python爬虫1&#xff1a;基础知识 前言 ​ python实现网络爬虫非常简单&#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点&#xff0c;方便以后复习。 目录结构 文章目录 python爬虫1&#xff1a;基础知识1. 基础认知1.1 什么是爬虫&…...

【FAQ】安防监控视频EasyCVR平台分发的FLV视频流在VLC中无法播放

众所周知&#xff0c;TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入&#xff0c;包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上&#xff0c;视频监控…...

网站建设师/网络新闻发布平台

专栏 | 九章算法网址 | http://www.jiuzhang.com2016年2月12日&#xff0c;旧的17个月OPT延期政策将失去其效力。符合条件的STEM专业的童鞋们&#xff0c;抓紧时间搭上最后一班顺风车吧&#xff01;早前&#xff0c;在旧的17个月OPT延期法案被撤销时&#xff0c;法官在做出裁决…...

网站做代理服务器/提高百度搜索排名工具

Java 8 中&#xff0c;你可以使用 Stream API 对 List 进行去重操作。 下面是代码示例&#xff1a; List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 1, 2, 3, 4, 5);List<Integer> distinctNumbers numbers.stream().distinct().collect(Collectors.toList(…...

佛山哪里有做网站的/基本营销策略有哪些

当快船手握16分领先进入易地再战时&#xff0c;老李充满了欢欣与愉悦&#xff0c;甚至还想哼个小曲儿。毕竟赫拉克利特曾说过&#xff1a;一个人不可能两次踏进同一条河流。G5已经被掘金翻了一回&#xff0c;难不成还想再玩逆转&#xff1f;得亏老李不是五五开&#xff0c;否则…...

顺德龙江网站建设/网络营销方案策划书

Java I/O流-总结(InputStream&#xff0c;OutputStream,Reader,Writer)2014-08-22一、 流的分类 按数据流动方向– 输入流&#xff1a;只能从中读取字节数据&#xff0c;而不能向其写出数据– 输出流&#xff1a;只能向其写入字节数据&#xff0c;而不能从中读取数据 按照…...

上海网站建设优势/青岛网站建设制作推广

题目 输入一个链表&#xff0c;从尾到头打印链表每个节点的值。返回新链表。 分析 可以借助栈也可以使用递归 代码 /*** 从尾到头打印列表*/ public class PrintListReverse {public static void main(String[] args) {ListNode node1 new ListNode();ListNode node2 ne…...

自己做的网站怎么上传网络/抖音推广

今天导入老师上周发的结束项目&#xff0c;发现需要下载最新版本的 tomcat , 然后百度了一下&#xff0c;发现有广告&#xff0c;所以我打算自己操作一下&#xff0c;发个图文教程。 因为之前学校使用的是 eclipse &#xff0c;版本是8.5的。所以需要重新下载。 说实话&#…...