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
相关推荐
原来是猿2 小时前
Linux进程信号详解(三):信号保存
开发语言·c++·算法
2401_892070982 小时前
算法与数据结构精讲:最大子段和(暴力 / 优化 / 分治)+ 线段树从入门到实战
c++·算法·线段树·最大子段和
memcpy02 小时前
LeetCode 904. 水果成篮【不定长滑窗+哈希表】1516
算法·leetcode·散列表
老四啊laosi2 小时前
[双指针] 8. 四数之和
算法·leetcode·四数之和
汀、人工智能2 小时前
[特殊字符] 第24课:反转链表
数据结构·算法·链表·数据库架构··反转链表
田梓燊2 小时前
leetcode 41
数据结构·算法·leetcode
_深海凉_3 小时前
LeetCode热题100-三数之和
算法·leetcode·职场和发展
y = xⁿ3 小时前
【LeetCode】双指针合集
算法·leetcode
2601_949539453 小时前
家用新能源 SUV 核心技术科普:后排娱乐、空间工程与混动可靠性解析
大数据·网络·人工智能·算法·机器学习