LeetCode 刷题 [C++] 第141题.环形链表

题目描述

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

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

如果链表中存在环 ,则返回 true 。 否则,返回 false 。
在这里插入图片描述

题目分析

快慢指针特性 每轮移动之后快指针和慢指针间的距离会加一。

  1. 通过分析题意,可以使用快慢指针来解决该问题。
  2. 假设链表中存在环,当慢指针进入环后,快指针已经进入环并移动了若干次;
  3. 此时就可以看成快指针追击慢指针的问题,假设此时快指针和慢指针间的间距为gap,每次移动后,快指针与慢指针间的间距会缩短1,因此,当移动gap次后,快指针追上慢指针。
  4. 如果链表中不存在环,则快指针与慢指针不会相遇,正常移动到链表尾部结束即可。

Code

class Solution {
public:bool hasCycle(ListNode *head) {ListNode* fast = head;ListNode* slow = head;while (nullptr != fast && nullptr != fast->next) {fast = fast->next->next;slow = slow->next;if (fast == slow) {return true;}}return false;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STC-ISP原厂代码研究之 V3.7d汇编版本

最近在研究STC的ISP程序,用来做一个上位机烧录软件,逆向了上位机软件,有些地方始终没看明白,因此尝试读取它的ISP代码,但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中,而这存储块有硬件级的使能线,在面包板社区-宏晶STC单片机的ISP的BIN文…

uniapp的动态表单实现

目录 1.说明 2.示例 3.总结 1.说明 ①在 formData 中定义个数组变量用来接受同一个字段的多个结果。 dynamicFormData: {email: ,// domains 字段下会有多个结果domains: [] }②使用 uni-forms-item 的 rules 属性定义单个表单域的校验规则。 <uni-forms-item :label&qu…

matlab绘制雷达图和二维FFT变换图

1、内容简介 略 49-可以交流、咨询、答疑 matlab绘制雷达图和二维FFT变换图 NMO组及NORMAL组 RNFL层、GCL层、IPL层、GCC层、ORL层做雷达图&#xff08;共10张&#xff09; 2、内容说明 略 NMO组及NORMAL组 RNFL层、GCL层、IPL层、GCC层、ORL层请分别做雷达图&#xff08…

每日OJ题_分治快排③_力扣215. 数组中的第K个最大元素

目录 力扣215. 数组中的第K个最大元素 解析代码 力扣215. 数组中的第K个最大元素 215. 数组中的第K个最大元素 难度 中等 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xf…

【学习笔记】SOA服务设计原则(二)举例说明

以银行系统为例 背景 在线银行系统允许用户进行各种银行业务,如查看账户余额、转账、支付账单等。为了支持这些功能,系统需要与账户管理、交易处理、账单支付等多个不同的服务进行交互。 应用SOA设计基本原则 标准化服务合约(Standardized Service Contract) 例子:所有服…

VAST Data步步攀升,整合AI堆栈,打造一体化AI平台:从存储根基走向全方位数据处理与分析

VAST Data公司正逐步从其商品化存储基础出发&#xff0c;构建一套统一的AI堆栈系统&#xff0c;致力于提供一站式AI解决方案。最近&#xff0c;VAST公司的现场CTO安迪珀斯坦纳在一次简报中传达了这一战略方向。 VAST提供了分散式QLC单层闪存架构的并行、横向扩展文件型存储系统…

kotlin与java的相互转换

Kotlin转java 将kotlin代码反编译成java Tools -> Kotlin -> Show Kotlin Bytecode 然后点击 【Decompile】 生成java代码 java转kotlin Code -> Convert Java File To Kotlin File

Docker数据管理及网络通信

目录 ------------------Docker 的数据管理--------------------- 1&#xff0e;数据卷 2&#xff0e;数据卷容器 -----------------端口映射----------------------------------- ------------------容器互联&#xff08;使用centos镜像&#xff09;---------------------…

科技论文编写思路

科技论文编写思路 1.基本框架2.课题可行性评估1.研究目标和意义2.研究方法和技术3.可行性和可操作性4.风险和不确定性5.经济性和资源投入6.成果预期和评估 3.写作思路4.利用AI读论文5.实验流程 1.基本框架 IntroductionRelated worksMethodExperiment and analysisDiscussionC…

ElasticSearch之Search Template和Index Alias

写在前面 本文看下es的search template和index alias。 1&#xff1a;search template 用来定义模板查询语句&#xff0c;运行时只需要将要查询的内容作为参数传进来即可&#xff0c;如下&#xff1a; 接着来测试下&#xff0c;首先来定义数据&#xff1a; DELETE tmdb/ P…

服务器防火墙的应用技术有哪些

服务器防火墙的应用技术有哪些 1.数据包过滤技术 数据包过滤是最基本的服务器防火墙技术之一&#xff0c;它根据一系列预定义规则过滤进出网络的数据包。数据包过滤器通常基于IP地址、端口号和协议类型等信息来判断数据包是否合法&#xff0c;如果不符合规则&#xff0c;则将被…

解决i18n国际化可读性问题,傻瓜式webpack中文支持国际化插件开发

先来看最后的效果 问题 用过国际化i18n的朋友都知道&#xff0c;天下苦国际化久矣&#xff0c;尤其是中文为母语的开发者&#xff0c;在面对代码中一堆的$t(abc.def)这种一点也不直观毫无可读性的代码&#xff0c;根本不知道自己写了啥 &#xff08;如上图&#xff0c;你看得出…

R语言在数据分析中的应用案例

一、引言 随着大数据时代的来临&#xff0c;数据分析已经成为了各行各业不可或缺的一部分。R语言&#xff0c;作为一款开源的统计计算和图形展示软件&#xff0c;因其强大的统计计算功能、丰富的包资源和灵活的编程特性&#xff0c;在数据分析领域得到了广泛的应用。本案例将通…

大语言模型LLM分布式框架:PyTorch Lightning框架(LLM系列14)

文章目录 大语言模型LLM分布式框架&#xff1a;PyTorch Lightning框架&#xff08;LLM系列14&#xff09;引言PyTorch Lightning分布式计算基础PyTorch Lightning核心架构概览LightningModule与分布式训练的兼容性LightningDataModule在分布式数据加载与预处理中的作用Trainer类…

Swagger3 使用详解

Swagger3 使用详解 一、简介1 引入依赖2 开启注解3 增加一个测试接口4 启动服务报错1.5 重新启动6 打开地址&#xff1a;http://localhost:8093/swagger-ui/index.html 二、Swagger的注解1.注解Api和ApiOperation2.注解ApiModel和ApiModelProperty3.注解ApiImplicitParams和Api…

大数据职业技术培训包含哪些

技能提升认证考试&#xff0c;旨在通过优化整合涵盖学历教育、职业资格、技术水平和高新技术培训等各种教育培训资源&#xff0c;通过大数据行业政府引导&#xff0c;推进教育培训的社会化&#xff0c;开辟教育培训新途径&#xff0c;围绕大数据技术人才创新能力建设&#xff0…

【华为面试基础题】求字符串中所有整数的最小和

描述 字符串s&#xff0c;只包含 a-z A-Z - &#xff1b; 合法的整数包括 1&#xff09; 正整数 一个或者多个0-9组成&#xff0c;如 0 2 3 002 102 2&#xff09;负整数 负号 - 开头&#xff0c;数字部分由一个或者多个0-9组成&#xff0c;如 -0 -012 -23 -00023 输入描述&…

targetSdkVersion > 30 如何将下载的网络视频 保存到手机相册里更新

在 targetSdkVersion 31 中&#xff0c;将下载的网络视频保存到手机相册中涉及几个关键步骤。由于 Android 12&#xff08;API 级别 31&#xff09;引入了更多的隐私和安全限制&#xff0c;特别是作用域存储&#xff08;Scoped Storage&#xff09;&#xff0c;因此你需要遵循这…

java特殊文件、日志技术、多线程

一、属性文件 1.1 特殊文件概述 像这种普通的文本文件&#xff0c;没有任何规律可言&#xff0c;不方便程序对文件中的数据信息处理。 在以后的Java开发过程中还会遇到一些特殊的文本文件&#xff0c;这些文件是有一些格式要求的&#xff0c;方便程序对文件中的数据进行处理。…

机器学习-02-机器学习算法分类以及在各行各业的应用

总结 本系列是机器学习课程的第02篇&#xff0c;主要介绍机器学习算法分类以及在各行各业的应用 本门课程的目标 完成一个特定行业的算法应用全过程&#xff1a; 定义问题&#xff08;Problem Definition&#xff09; -> 数据收集(Data Collection) -> 数据分割(Data…