关注
快慢指针原理说明:1.单向链表中如果有环,一定是最后一个结点的后继指针又指向了已遍历结点(这个已遍历结点可以称为三叉结点,因为该结点有两个入口一个出口),从而形成环。2.因为有环的存在,所以以后继结点非空为条件进行的遍历永远不会停止。3.当慢指针首次到达三叉结点,也就是慢指针开始进入环中时,快指针可能位于环中任一结点处:快指针可能落后慢指针0个结点(快慢指针均位于三叉结点,即刚好相遇)、落后1个结点、2个结点、3个等等,最多落后L-1个节点(L是环中结点总数,即快指针恰位于慢指针的后继结点处)。由于快指针每一跳都比慢指针多前进一个位置,因此,快指针最多也只需要L-1跳就追上慢指针(相遇)。如果是L-1跳后两指针才首次相遇,此时,慢指针刚好来到链表最后一个结点(三叉结点的前驱结点)。因此可以断言:快慢指针首次相遇时,慢指针走过的距离不超过链表的总长度。ps:纯文字描述可能难以理解,可以画图辅助,将三叉结点标记为L号结点,画一个包含L个结点的环即可。
4
相关推荐
03-27 17:02
湖北大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看11道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
19623次浏览 341人参与
# 中国电信笔试 #
31496次浏览 284人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14735次浏览 217人参与
# 春招至今,你的战绩如何? #
63000次浏览 571人参与
# 如果秋招能重来,我会____ #
96845次浏览 500人参与
# 一张图晒出你司的标语 #
4117次浏览 74人参与
# 米连集团26产品管培生项目 #
13164次浏览 285人参与
# i人适合做什么工作 #
37065次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79657次浏览 219人参与
# 金三银四,你的春招进行到哪个阶段了? #
21901次浏览 280人参与
# 哪些公司真双非友好? #
69462次浏览 287人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340437次浏览 2170人参与
# AI面会问哪些问题? #
26779次浏览 536人参与
# 找AI工作可以去哪些公司? #
8541次浏览 217人参与
# 从事AI岗需要掌握哪些技术栈? #
8441次浏览 282人参与
# 面试尴尬现场 #
220908次浏览 861人参与
# 五一之后,实习真的很难找吗? #
102861次浏览 584人参与
# 你做过最难的笔试是哪家公司 #
32103次浏览 215人参与
# 应届生第一份工资要多少合适 #
20614次浏览 86人参与
# 聊聊你的职场新体验 #
336289次浏览 1894人参与
# 你小时候最想从事什么职业 #
159944次浏览 2072人参与
# 阿里笔试 #
177814次浏览 1307人参与