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

【每日力扣】141. 环形链表与142. 环形链表 II

在这里插入图片描述

🔥 个人主页: 黑洞晓威
😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害

141. 环形链表

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

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

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

解题思路

为了判断链表中是否存在环,可以使用快慢指针的方法。快指针每次向前移动两步,慢指针每次向前移动一步,如果链表中存在环,快指针最终会追上慢指针,如果不存在环,快指针会到达链表尾部。

具体步骤如下:

  1. 初始化快慢指针,快指针每次移动两步,慢指针每次移动一步。
  2. 迭代遍历链表,如果快指针追上了慢指针,则链表存在环;如果快指针到达了链表尾部,则链表不存在环。

代码实现

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;}
}

142. 环形链表 II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null

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

不允许修改 链表。

解题思路

要寻找环形链表的入口节点,可以使用快慢指针的方法。当快慢指针相遇时,让其中一个指针重新指向头节点,并让两个指针以相同速度向前移动,再次相遇的节点就是环的入口节点。这个方法可以证明在相遇点后,再次相遇的节点就是环的入口。

具体步骤如下:

  1. 使用快慢指针找到两指针相遇的节点。
  2. 将其中一个指针重新指向头节点,保持另一个指针在相遇点。
  3. 两个指针以相同速度向前移动,再次相遇的节点即为环的入口节点。

代码实现

public class Solution {public ListNode detectCycle(ListNode head) {ListNode slow = head;ListNode fast = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;if (slow == fast) {fast = head;while (slow != fast) {slow = slow.next;fast = fast.next;}return slow;}}return null;}
}

相关文章:

【每日力扣】141. 环形链表与142. 环形链表 II

🔥 个人主页: 黑洞晓威 😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害 141. 环形链表 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟…...

考研逆天改命,双非逆袭985!

这个系列会邀请上岸学长学姐进行经验分享~ 今天分享经验的同学是双非上岸中国海洋大学! 大家好,先自我介绍一下,我是应届考生,报考的专业是新一代电子信息技术(产教融合),总分377,…...

群晖上部署农场管理系统farmOS

什么是 farmOS ? farmOS 是一个基于 Web 的应用程序,用于农场管理、规划和记录保存。它由志愿者社区开发,旨在为农民、开发人员和研究人员提供一个标准平台。 需要注意的是,群晖内核版本太低会遇到下面的错误,这个 AH0…...

Python中的property装饰器:深入解析与实用示例

Python中的property装饰器:深入解析与实用示例 一、引言 在Python中,property装饰器是一个强大的工具,它允许我们定义类的属性,同时保持对这些属性的访问控制。这意味着我们可以在不破坏封装性的前提下,提供对类内部…...

【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…...

数据库、OS内核安全等精彩继续!龙蜥大讲堂 5 月直播预告来袭

「龙蜥大讲堂」5 月精彩预告来了,点击下方海报抢先了解。本月又是满满的技术干货分享,多位大咖带你共享技术盛宴!直播地址:http://live.bilibili.com/24798267 5 月精彩分享直达 👇 直播主题及内容介绍 一&#xff1…...

ubuntu20文件安装和卸载cuda11.6

搜索cuda 11.6 nvidia,进入官网https://developer.nvidia.com/cuda-11-6-0-download-archive 选择linux --> runfile 用安装包安装 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run sudo s…...

如何备份firewalld的配置信息?

要备份Firewalld的配置信息,您可以通过以下步骤进行: 备份配置文件: Firewalld的配置文件位于/etc/firewalld/目录下。您可以使用cp命令来备份这些文件到其他位置,例如: cp -r /etc/firewalld/zones /path/to/backup…...

我们该如何看待AIGC(人工智能)

引言 人工智能(AI)是当今世界科技发展的前沿领域之一,它正在以前所未有的速度和规模影响着我们的生活、工作和思考方式。AIGC,即人工智能生成内容(Artificial Intelligence Generated Content)&#xff0c…...

POWERBI==官网教程

地址 COVID-19 tracking sample for US state and local governments - Power BI | Microsoft Learn 已经非常全面了...

自然语言处理(NLP)技术有哪些运用?

目录 一、自然语言处理(NLP)技术有哪些运用? 二、Python进行文本的情感分析 1、NLTK库: 2、TextBlob库: 三、错误排除 一、自然语言处理(NLP)技术有哪些运用? 自然语言处理(NLP&#xff09…...

java spring 09 Bean的销毁过程 上 在docreatebean中登记要销毁的bean

1.Bean销毁是发送在Spring容器关闭过程中的 AnnotationConfigApplicationContext context new AnnotationConfigApplicationContext(AppConfig.class);UserService userService (UserService) context.getBean("userService");userService.test();// 容器关闭cont…...

杰发科技AC7801——支持的纠错功能

1. 复位寄存器保留复位类型 低压检测复位(LVD Reset) 集成了一个低压保护系统,以便在电源电压发生变化期间保护存储器内容和控制 MCU 系统状态。该系统由上电复位(POR)电路和 LVD 电路组成,LVD 可以配置为不同的复位基准&#x…...

spring boot运行过程中动态加载Controller

1.被加载的jar代码 package com.dl;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(A…...

学习软考----数据库系统工程师25

关系规范化 1NF(第一范式) 2NF(第二范式) 3NF(第三范式) BCNF(巴克斯范式) 4NF(第四范式) 总结...

RTMP 直播推流 Demo(一)—— 项目配置与视频预览

音视频编解码系列目录: Android 音视频基础知识 Android 音视频播放器 Demo(一)—— 视频解码与渲染 Android 音视频播放器 Demo(二)—— 音频解码与音视频同步 RTMP 直播推流 Demo(一)—— 项目…...

安卓获取SHA

1:安卓通过签名key获取SHA 方式有两种, 1、电脑上来存在eclipse的用户或正在使用此开发工具的用户就简单了,直接利用eclipse 走打包流程,再打包的时候选择相应的签名,那么在当前面板的下面便会出现签名的相关信息。 2、…...

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Dial的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Dial的使用及说明 文章编号:Qt…...

【C语言】项目实践-贪吃蛇小游戏(Windows环境的控制台下)

一.游戏要实现基本的功能: • 贪吃蛇地图绘制 • 蛇吃食物的功能 (上、下、左、右方向键控制蛇的动作) • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 二.技术要点 C语言函数、枚举、结构体、动态内存管…...

在做题中学习(50):搜索插入位置

35. 搜索插入位置 - 力扣(LeetCode) 解法:二分查找 思路:题目是有序的,时间复杂度O(logN),二分没跑了,题目说如果找不到target,返回它应该被插入位置的下标,所以可以分析一下示例2&…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...

二维数组 行列混淆区分 js

二维数组定义 行 row:是“横着的一整行” 列 column:是“竖着的一整列” 在 JavaScript 里访问二维数组 grid[i][j] 表示 第i行第j列的元素 let grid [[1, 2, 3], // 第0行[4, 5, 6], // 第1行[7, 8, 9] // 第2行 ];// grid[i][j] 表示 第i行第j列的…...

虚拟机网络不通的问题(这里以win10的问题为主,模式NAT)

当我们网关配置好了,DNS也配置好了,最后在虚拟机里还是无法访问百度的网址。 第一种情况: 我们先考虑一下,网关的IP是否和虚拟机编辑器里的IP一样不,如果不一样需要更改一下,因为我们访问百度需要从物理机…...

从数据报表到决策大脑:AI重构电商决策链条

在传统电商运营中,决策链条往往止步于“数据报表层”:BI工具整合历史数据,生成滞后一周甚至更久的销售分析,运营团队凭经验预判需求。当爆款突然断货、促销库存积压时,企业才惊觉标准化BI的决策时差正成为增长瓶颈。 一…...