环形链表Ⅰ&&Ⅱ

Posted 王不患吖吖吖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了环形链表Ⅰ&&Ⅱ相关的知识,希望对你有一定的参考价值。

环形链表Ⅰ


对于此题,我们设置两个指针,快指针,和慢指针,它们初始的时候都指向头部,快指针每次走两步,慢指针每次走一步,当慢指针进入到环的开始的时候,就进行到快指针追逐慢指针的过程,由于快指针快了一步,所以只要存在环那么一定追上。

环形链表Ⅱ


我们想返回链表开始入环的第一个节点,在追击问题中,我们存在一个二级结论,我们利用这个结论就可以接触这个题目

结论以及结论的证明

结论:
一个指针从相遇点开始,一个指针从链表头开始走,他们相遇的位置一定是开始入环的第一个节点
证明如下

由此我们写出代码

先找到相遇点,再令一个指针从开始处开始走,一个从相遇处走,最终会在入口处相遇。

以上是关于环形链表Ⅰ&&Ⅱ的主要内容,如果未能解决你的问题,请参考以下文章

环形链表Ⅰ&&Ⅱ

环形链表Ⅰ&&Ⅱ

链表题 剑指21.删除链表的倒数第n个节点剑指22.链表的倒数第k个节点234.回文链表141.环形链表142.环形链表Ⅱ 160.相交链表 21.合并两个有序链表

Java 数据结构 & 算法宁可累死自己, 也要卷死别人 8 环形链表

双指针3环形链表Ⅱ(快慢指针)

双指针3环形链表Ⅱ(快慢指针)