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

广州皇族文化传播有限公司 2026/09/09 18:09:38

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; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

怎样建设网站东莞手机网站建设

第一章:Open-AutoGLM一句话点赞系统概述Open-AutoGLM一句话点赞系统是一套基于自然语言理解与自动化交互技术的轻量级开源工具,旨在实现对指定平台中用户生成

2026/06/30 12:09:29

医院网站建设济宁网站建设

深夜改稿,导师的夺命连环批注让你濒临崩溃?离毕业、职称、期刊投稿截止日期只剩最后72小时,初稿还是一片空白?别慌!2026年最新一

2026/06/30 11:19:55

怎样建设网站长沙网站建设

OBS-NDI网络视频传输终极配置指南:从入门到精通【免费下载链接】obs-ndiNewTek NDI integration for OBS Studio项目地址: https://g

2026/06/30 13:11:34

怎样建设网站东阳网站建设

GPT-SoVITS API开发:从本地到云端部署在智能语音内容爆发的今天,个性化声音不再是影视明星或专业配音员的专属。越来越多的应用场景——比如虚拟主播、有声书生成、AI

2026/06/30 12:33:02

网站建设哪家便宜网站网站建设

在科研的浩瀚海洋中,每一位学者都是勇敢的航海者,不断探索未知的学术领域。然而,面对选题迷茫、文献综述繁琐、逻辑构建复杂以及格式规范严苛等重重挑战,

2026/06/30 11:29:25

商务网站建设php网站建设

STM32嵌入式视觉革命:用普通USB摄像头打造智能视觉系统【免费下载链接】STM32_HOST_UVC_CameraExample of connecting USB Web came

2026/06/30 14:16:39

诸城网站建设物流网站建设

今年,高校对于毕业论文的ai率管控逐渐提升,越来越多同学开始为论文的ai率过高感到头疼如果你正面对着 73% 的 AI 标红愁眉不展,别慌。下文将我亲测有效的

2026/06/30 11:28:55

山东省建设厅网站网站建设 英文

嵌入式(计算机)系统是计算机技术演化中形成的一个重要分支,是赋予“万物”与环境进行感知、交互、互联与协同能力的技术基石。其技术体系高度综合,不仅具有与通用计算技术同样完整的

2026/06/30 12:46:03

南充网站建设沧州网站建设

高速信号的“回流之路”:为什么你的PCB设计总在EMI或误码上栽跟头?你有没有遇到过这样的情况:千兆以太网间歇性掉包,低温正常,一

2026/06/30 11:22:26

内蒙古网站建设仙桃网站建设

LLM项目安装与配置完全指南【免费下载链接】llmAccess large language models from the command-line项目地址: https://gitcode.com

2026/06/30 11:30:55