网站制作建设南昌网站建设公司

中生国态(北京)文化传播有限公司 2026/09/09 17:35:53

LeetCode---环形链表 II

首先要解决这个题,我们先要明白我们要考虑的情况

如果链表没有环,则直接返回null

ListNode fast=head; ListNode slow=head; while(fast!=null&&fast.next!=null){ fast=fast.next.next; slow=slow.next; if(fast==slow){ break; } }
if(fast==null||fast.next==null){ return null; }

如果有环,那我们也要考虑两种情况

圈大

从上面的图片中我们可以看出,当fast一次走两步,slow一次走一步的时候,我们会发现,

slow所走的路程是X+C-Y

fast所走的路程是X+C+C-Y

注意:慢指针不会走了很多圈才会被追上,实际上慢指针最多走半圈

如果实在想不懂,可以看看上面的图,一步一步带入进去

由于fast是一次性走两步,slow是一次性走一步

所以fast所走的路程是slow所走路程的两倍

slow所走的路程是X+C-Y

fast所走的路程是X+C+C-Y

所以我们可以列出等式 X+C+C-Y=2*(X+C-Y)

化简之后就可以看到

X==Y

由于X==Y

所以我们让指针1指针2同时走,那么它俩就会在入环的第一个节点相遇

圈小

所谓的圈小,就是当slow进环的时候,fast已经走了很多圈了

此时当slow和fast相遇的时候,走的路程分别是

slow:X+C-Y

fast:X+N*C+C-Y

由于fast所走的路程是slow的两倍

所以

2*(X+C-Y)=X+N*C+C-Y

化简后得到

x+c-y=nc

x=(n-1)c+y

当n==0的时候,X==Y,恰好是圈大的情况

当fast走了n-1圈后,依旧是回到相遇点,然后再加上个Y,正好是入环的第一个节点

假设圈的长度是2,当slow走了X的一半的时候,fast恰好入环

此时,slow每走一步,fast就走一圈

完整版代码:

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){ break; } } //没找到环的情况 if(fast==null||fast.next==null){ return null; } //定义一个新节点,从头开始走,每次走一步,fast也每次走一步 //当cur和fast相等的时候,跳出循环,此时这个节点就是入环的第一个节点 ListNode cur=head; while(cur!=fast){ cur=cur.next; fast=fast.next; } return cur; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

龙岗网站建设黄石网站建设

星座也能“动”起来?用 Wan2.2-T2V-5B 自动生成运势动画,新媒体人悄悄卷疯了 🌟你有没有刷到过那种——深邃星空下,狮子座的金色鬃毛

2026/06/30 13:49:07

律师网站建设襄樊网站建设

G-Helper:解锁华硕笔记本隐藏性能的智能调校利器【免费下载链接】g-helperLightweight Armoury Crate alternative for Asus lap

2026/06/30 12:08:29

网站建设设计涪陵网站建设

数字化时代,核心文件泄露风险剧增,加密软件成为数据安全的关键屏障。而加密速度与延迟表现,直接影响办公效率与协作体验。2025 年,高效低延迟成为

2026/06/30 12:21:30

甘肃网站建设赣州网站建设

第一章:边缘计算新范式与Quarkus 2.0的融合演进随着物联网设备和实时数据处理需求的激增,边缘计算正逐步取代传统集中式云计算架构,成为低延迟、高响应系统

2026/06/30 11:00:23

昆山网站建设网站建设计划书

Untrunc视频修复工具:拯救损坏视频的终极方案【免费下载链接】untruncRestore a damaged (truncated) mp4, m4v, mov, 3gp vide

2026/06/30 11:52:58

烟台网站建设网站建设软件

引言随着数字化时代的到来,网络安全已成为企业和个人不可或缺的防护屏障。无论是防止数据泄露,还是抵御黑客攻击,网络安全工程师的角色越来越重要。那么,

2026/06/30 11:59:28

广州市网站建设商洛网站建设

高可用性集群与安装服务器搭建指南1. 高可用性集群故障排查在搭建高可用性集群时,可能会遇到集群服务无法正常运行的情况。以下是一些排查和解决问题的方法:-检查日志文件:集群会在/var/log/clus

2026/06/30 10:51:22

大型门户网站建设盐城网站建设

从翻转到计数:深入理解T触发器的内在逻辑你有没有想过,一个简单的“翻转”动作,如何撑起整个数字世界的节奏?在无数闪烁的LED、飞速运转的CPU和

2026/06/30 13:56:08

医院网站建设app网站建设

神经网络与动物认知:探索行为控制的奥秘在研究动物行为和认知的领域中,神经网络模型正逐渐成为一种重要的研究工具。然而,要深入理解神经网络与动物认知之间的关系,我们需要解决一系列关键问题。1. 神经网络应

2026/06/30 11:47:27

南通网站建设广西网站建设

UAssetGUI完整教程:Unreal Engine资产可视化编辑终极指南【免费下载链接】UAssetGUIA tool designed for low-level examinat

2026/06/30 12:21:30