关注
快慢指针原理说明:1.单向链表中如果有环,一定是最后一个结点的后继指针又指向了已遍历结点(这个已遍历结点可以称为三叉结点,因为该结点有两个入口一个出口),从而形成环。2.因为有环的存在,所以以后继结点非空为条件进行的遍历永远不会停止。3.当慢指针首次到达三叉结点,也就是慢指针开始进入环中时,快指针可能位于环中任一结点处:快指针可能落后慢指针0个结点(快慢指针均位于三叉结点,即刚好相遇)、落后1个结点、2个结点、3个等等,最多落后L-1个节点(L是环中结点总数,即快指针恰位于慢指针的后继结点处)。由于快指针每一跳都比慢指针多前进一个位置,因此,快指针最多也只需要L-1跳就追上慢指针(相遇)。如果是L-1跳后两指针才首次相遇,此时,慢指针刚好来到链表最后一个结点(三叉结点的前驱结点)。因此可以断言:快慢指针首次相遇时,慢指针走过的距离不超过链表的总长度。ps:纯文字描述可能难以理解,可以画图辅助,将三叉结点标记为L号结点,画一个包含L个结点的环即可。
4
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# i人适合做什么工作 #
5042次浏览 61人参与
# 大家实习每天都在干啥 #
95722次浏览 533人参与
# “vivo”个offer #
28076次浏览 203人参与
# 我是面试官,请用一句话让我破防 #
6055次浏览 52人参与
# 你认为哪些项目算烂大街? #
72896次浏览 607人参与
# 如果秋招能重来,我会____ #
21434次浏览 195人参与
# 快手技术岗信息交流阵地 #
14098次浏览 80人参与
# 许愿池 #
321021次浏览 2905人参与
# 校招生月薪1W算什么水平 #
7897次浏览 54人参与
# 硬件应届生薪资是否普遍偏低? #
88226次浏览 559人参与
# 华为池子有多大 #
105438次浏览 740人参与
# 苦尽甘来时,再讲来时路 #
20386次浏览 306人参与
# 作业帮求职进展汇总 #
70573次浏览 484人参与
# 如果上班像打游戏,你最想解锁什么技能 #
4080次浏览 43人参与
# 一份好的简历长什么样? #
10622次浏览 242人参与
# 为了实习逃课值吗? #
17060次浏览 147人参与
# 你认为小厂实习有用吗? #
94932次浏览 609人参与
# 秋招许愿,本周能____ #
20155次浏览 135人参与
# 班味很重的人是啥样的? #
6151次浏览 39人参与
# 投递无反馈,如何优化求职策略? #
3528次浏览 32人参与
# 大学最后一个寒假,我想…… #
62378次浏览 668人参与
# 机械制造秋招总结 #
84137次浏览 826人参与

深信服公司福利 734人发布