C语言力扣刷题8——环形链表——[快慢双指针, 龟兔赛跑]

力扣刷题8——环形链表——[快慢双指针, 龟兔赛跑]

  • 一、博客声明
  • 二、题目描述
  • 三、解题思路
    • 1、思路说明
  • 四、解题代码(附注释)

一、博客声明

  找工作逃不过刷题,为了更好的督促自己学习以及理解力扣大佬们的解题思路,开辟这个系列来记录。代码可能不是自己写的,不求方法最好,只求更多地理解大佬们的解题思路。


二、题目描述

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

示例 1
在这里插入图片描述
输入:head = [3,2,0,-4], pos = 1
输出:true
解释:链表中有一个环,其尾部连接到第二个节点。

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

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

示例 3
在这里插入图片描述
输入:head = [1], pos = -1
输出:false
解释:链表中没有环。

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


三、解题思路

1、思路说明

  龟兔赛跑,快指针比慢指针快两个节点,只要存在环形链表,就会相遇。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

 


四、解题代码(附注释)

bool hasCycle(struct ListNode* head) {if (head == NULL || head->next == NULL) {return false;}struct ListNode* slow = head;struct ListNode* fast = head->next;while (slow != fast) {if (fast == NULL || fast->next == NULL) {return false;}slow = slow->next;fast = fast->next->next;}return true;
}

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

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

相关文章

分布式事务解决方案(八股)

1. CAP理论 一致性【Consistency】&#xff1a;所有节点访问最新的数据可用性【Availability】&#xff1a;非故障节点响应正常分区容错性【Partition Tolerance】&#xff1a;分布式系统出现网络分区&#xff0c;仍能对外提供服务 附&#xff1a;网络分区&#xff1a;分布式…

拳打开源SOTA脚踢商业闭源的LI-DiT是怎样炼成的?(商汤/MMLab/上海AI Lab)

文章地址&#xff1a;https://arxiv.org/pdf/2406.11831 仅基于解码器的 Transformer 的大语言模型&#xff08;LLMs&#xff09;与 CLIP 和 T5 系列模型相比&#xff0c;已经展示出卓越的文本理解能力。然而&#xff0c;在文本到图像扩散模型中利用当前先进的大语言模型的范例…

[机器学习]-3 万字话清从传统神经网络到深度学习

神经网络&#xff08;Neural Networks, NNs&#xff09;是机器学习的一种重要方法&#xff0c;灵感来源于生物神经系统&#xff0c;由大量互联的节点&#xff08;称为神经元或单元&#xff09;组成&#xff0c;通过调整这些节点间的连接权重来学习和表示复杂的非线性关系。传统…

中霖教育怎么样?注册会计师考试难吗?

中霖教育&#xff1a;注册会计师&#xff08;CPA&#xff09;考试的难度高吗&#xff1f; 对于不同背景的考生来说&#xff0c;注册会计师考试的挑战程度不同。那些有良好基础和充裕准备时间的考生&#xff0c;通过考试的可能性要超过那些从零开始且准备时间有限的人。 据最近…

GPOPS-II教程(5): 月球探测器着陆最优控制问题

文章目录 问题描述GPOPS代码main functioncontinuous functionendpoint function仿真结果 最后 问题描述 参考文献&#xff1a;[1] Meditch J. On the problem of optimal thrust programming for a lunar soft landing[J]. IEEE Transactions on Automatic Control, 1964, 9(4…

6.28学习笔记

一、马克思 1、对立的历史观&#xff1a;唯物史观、唯心史观&#xff08;不是“主义”&#xff09; 2、人口因素对社会发展起&#xff08;制约和影响&#xff09;作用 3、自然地理环境是人类社会生存和发展&#xff08;永恒的、必要的条件&#xff09; 4、哲学社会科学的发展水…

Linux基础- 使用 Apache 服务部署静态网站

目录 零. 简介 一. linux安装Apache 二. 创建网页 三. window访问 修改了一下默认端口 到 8080 零. 简介 Apache 是世界使用排名第一的 Web 服务器软件。 它具有以下一些显著特点和优势&#xff1a; 开源免费&#xff1a;可以免费使用和修改&#xff0c;拥有庞大的社区支…

Web渗透:任意文件下载

任意文件下载漏洞&#xff08;Arbitrary File Download Vulnerability&#xff09;是一种常见的Web安全漏洞&#xff0c;它允许攻击者通过修改输入参数&#xff0c;从服务器下载任意文件&#xff0c;而不仅仅是预期的文件&#xff1b;通常这种漏洞出现在处理用户输入的地方&…

343. 整数拆分(leetcode)

343. 整数拆分&#xff08;leetcode&#xff09; 题目描述 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。返回你可以获得的最大乘积 。 示例1 输入: n 2 输出: 1 解释: 2 1 1, 1 1…

python CSSE7030

1 Introduction In this assignment, you will implement a (heavily) simplified version of the video game ”Into The Breach”. In this game players defend a set of civilian buildings from giant monsters. In order to achieve this goal, the player commands a s…

Spring MVC数据绑定和响应——复杂数据绑定(三)复杂POJO绑定

一、复杂POJO数组绑定的使用场景 使用简单POJO类型已经可以完成多数的数据绑定&#xff0c;但有时客户端请求中传递的参数比较复杂。例如&#xff0c;在用户查询订单时&#xff0c;页面传递的参数可能包括订单编号、用户名称等信息&#xff0c;这就包含了订单和用户两个对象的信…

AI进阶指南第四课,大模型优缺点研究?

在上一篇文章中&#xff0c;我主要探讨了LM模型与企业级模型的融合。 但是&#xff0c;在文末对于具体的大模型优缺点只是简单地说明了一下&#xff0c;并不细致。 因此&#xff0c;在这一节&#xff0c;我将更为细致地说明一下大模型的优缺点。 一&#xff0c;隐私安全 将L…

2018年全国大学生数学建模竞赛A题高温服装设计(含word论文和源代码资源)

文章目录 一、部分题目二、部分论文三、部分Matlab源代码问题11 求解h1h22 已知h1h2求解温度分布 问题21 求解第二层最佳厚度 四、完整word版论文和源代码&#xff08;两种获取方式&#xff09; 一、部分题目 2018 年高教社杯全国大学生数学建模竞赛题目 A 题 高温作业专用服…

vCenter- KMS Server healthy warning

- 问题摘要&#xff1a;KMS Server healthy warning. - 分析/故障排除: 检查集群配置-Security-Key Providers界面&#xff0c;发现KMS Server并没有完整配置并且目前集群内的虚机没有使用加密功能&#xff08;VM Encryption&#xff09;&#xff0c;您可以忽略该告警提示。 …

Linux C 程序 【02】创建线程

1.开发背景 上一个篇章&#xff0c;基于 RK3568 平台的基础上&#xff0c;运行了最简单的程序&#xff0c;然而我们使用了 Linux 系统&#xff0c;系统自带的多线程特性还是比较重要的&#xff0c;这个篇章主要描述线程的创建。 2.开发需求 设计实验&#xff1a; 创建一个线程…

【linux】find命令详解

Linux中的find命令用于在文件系统中搜索符合条件的文件或目录。 一.基本语法 find [path] [expression] #path:搜索的起始目录&#xff0c;如果不指定&#xff0c;默认为当前目录 #expression&#xff1a;定义搜索条件的表达式 命令选项 -name 按文件名搜索 -size …

入门JavaWeb之 JavaBean 实体类

JavaBean 有特定写法&#xff1a; 1.必须有一个无参构造 2.属性必须私有 3.必须有对应的 get/set 方法 一般用来和数据库的字段做映射 ORM&#xff1a;对象关系映射 表->类 字段->属性 行记录->对象 连接数据库 没有的话去 Settings -> Plugins 搜索 Data…

Vue-路由

路由简介 SPA单页面应用。导航区和展示区 单页Web应用整个应用只有一个完整的页面点击页面中的导航连接不会刷新页面&#xff0c;只会做页面的局部更新数据需要通过ajax请求获取 路由&#xff1a;路由就是一组映射关系&#xff0c;服务器接收到请求时&#xff0c;根据请求路…

[论文阅读笔记33] Matching Anything by Segmenting Anything (CVPR2024 highlight)

这篇文章借助SAM模型强大的泛化性&#xff0c;在任意域上进行任意的多目标跟踪&#xff0c;而无需任何额外的标注。 其核心思想就是在训练的过程中&#xff0c;利用strong augmentation对一张图片进行变换&#xff0c;然后用SAM分割出其中的对象&#xff0c;因此可以找到一组图…

k8s集群node节点加入失败

出现这种情况&#xff1a; [preflight] FYI: You can look at this config file with kubectl -n kube-system get cm kubeadm-config -o yaml [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" [kubelet-start] Writing kub…