LeetCode热题100-环形链表

根据以下题目描述pos 参数为系统表示链表的标志,咱们获取不到,所以只能使用快慢指针方法来判断链表中是否存在环形。一个走一步,一个一次走两步,等到fast和slow相等时即为存在环形。

给你一个链表的头节点 head ,判断链表中是否有环。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。

如果链表中存在环 ,则返回 true 。 否则,返回 false

python 复制代码
class Solution:
    def hasCycle(self, head: Optional[ListNode]) -> bool:
        fast = slow = head

        while True:
            if not fast or not fast.next:
                return False
            
            if fast == slow:
                return True
            
            fast = fast.next.next
            slow = slow.next
相关推荐
Chase_______6 分钟前
LeetCode 1343 题解:定长滑动窗口经典入门题,从暴力枚举到高效优化一文搞懂
算法·leetcode·职场和发展
样例过了就是过了6 分钟前
LeetCode热题100 单词拆分
c++·算法·leetcode·动态规划·哈希算法
王老师青少年编程21 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:跳跳!
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·跳跳
MediaTea21 分钟前
ML:决策树的基本原理与实现
人工智能·算法·决策树·机器学习·数据挖掘
王老师青少年编程23 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【跳跃与过河问题】:独木桥
c++·算法·贪心·csp·信奥赛·跳跃与过河问题·独木桥
忡黑梨31 分钟前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
陈壮实的搬砖日记1 小时前
白话生成式推荐二:MiniOneRec之RQ-VAE
算法
陈壮实的搬砖日记1 小时前
白话生成式推荐二:MiniOneRec之SFT
算法
她说彩礼65万1 小时前
C语言 动态内存管理
c语言·开发语言·算法
Irene19911 小时前
数据排序为什么默认升序
算法·排序