【链表】环形链表

环形链表的问题是链表中非常经典的一个算法题。
环形链表
链表的结构是由一个个节点连接起来而得到的一种数据结构!每个节点中记录着下一个节点的地址。循环链表就是指节点中形成了一个环。如下图: 判断链表中是否存在环,一个经典的方法就是通过快慢指针来判断!
思路
首先来说说什么是快慢指针。 快指针:每次移动两个或者多个节点 慢指针:每次移动一个节点(移动的节点数要比快指针要小) 为什么快慢指针能够判断链表中是否存在环呢? 当我们让快指针和慢指针从头节点开始,进行移动,快指针每次移动两个节点,慢指针每次移动一个节点: 1、如果链表不存在环,那么快指针和慢指针是不可能相遇的,两个指针所指向的节点一定不相等 2、如果链表存在环,那么快指针和慢指针会在环上不停的循环,两个指针一定会相遇,即两个指针指向的节点相同
实现
根据上面的思路,我们进行编码实现
// 定义节点
class ListNode {

【链表】环形链表最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/27537.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>