龟兔指针法

Posted GoldenaArcher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了龟兔指针法相关的知识,希望对你有一定的参考价值。

龟兔指针法

即 Floyd Cycle Detection Algorithm(Floyd 循环检测算法),又名 Floyd’s Tortoise and Hare(佛洛依德的乌龟和兔子),快慢指针法,该算法主要用于检测链表内是否存在环。

原理

龟兔指针法的原理相对而言还是比较简单的,以以下链表为例:

1 2 3 4 5 6 7

快慢指针法会在最开始的时候将指针同时指向 1

1 2 3 4 5 6 7 slow fast

随后,只需要让快指针在每次移动时,比慢指针多移动一格:

1 2 3 4 5 6 7 slow fast 1 2 3 4 5 6 以上是关于龟兔指针法的主要内容,如果未能解决你的问题,请参考以下文章

刷题8:找出两个链表的交点

第一篇博客园--双指针法小记

2021/5/20 刷题笔记相交链表以及双指针法

LeetCode刷题总结之双指针法

力扣234. 回文链表 一题五解让你彻底弄懂链表!反转链表法栈法双指针法快慢指针法递归法

[CodeForces-1036E] Covered Points 暴力 GCD 求交点