大家好,我是小梁! 今天和大家分享下一种实用且常见的算法:Floyd判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm)。 FLody判圈算法在链表上的应用有如下三种: 检测是否存在环 若环存在,可以计算出环的长度 若环存在,可以计算出环的起点 一.算法原理证明 如图1 已知兔子和乌龟 同时从链表起点S出发 兔子速度是乌龟的两倍(乌龟每次向后移动1步,兔子移动每次向后移动2步) m是S和A之间的距离 n是A和B之间的距离 A是环的起点 L是环的长度 B是兔子、乌龟第一次相遇的