提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
1、环形链表题目:
2、方法讲解:
图文解析:
代码实现:
其他的两种情况:
总结
前言
世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!
提示:以下是本篇文章正文内容,下面案例可供参考
1、环形链表题目:
2、方法讲解:
图文解析:
解题思路:采用双指针的方法(slow、fast),刚开始让他们都指向链表的头节点,,slow指针每次走一步,fast指针每次走两步。
1:如果该链表不带环的话,那fast指针走到空,循环就结束,返回NULL;
2:如果该链表带环的话,那fast指针先进环,在环内循环,slow指针后进环,就会产生追击的效果,因为fast指针每次走两步,slow指针每次走一步,fast指针和slow指针在环内每走一个过程,两个指针的距离就减少1,fast指针走过的路程 = slow指针走过路程的2倍。
代码实现:
其他的两种情况:
2、slow一次走1步,fast一次走3步,一定会相遇吗?
3、slow一次走n步,fast一次走m步,一定会追上吗?m>n>1
距离缩小m-n(>= 1的整数)
N%(m-n) == 0 一定能追上
总结
好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。