news 2026/5/26 4:40:12

环形链表问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
环形链表问题

本文参考代码随想录

给定一个链表,判断链表中是否有环。

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

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

思路

可以使用快慢指针法, 分别定义 fast 和 slow指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。

# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = NoneclassSolution:defhasCycle(self,head:Optional[ListNode])->bool:ifheadisNone:returnFalseslow,fast=head,headwhilefastandfast.next:slow=slow.nextfast=fast.next.nextiffast==slow:returnTruereturnFalse
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 4:50:02

K8S系列之7.1:云原生DevOps(CI/CD 在 K8S 中的实践)

在云原生时代,DevOps已经演进为以GitOps为核心的全新实践。本章将带你从传统CI/CD转型到真正的云原生交付流水线,实现从代码提交到生产部署的完全自动化、可审计、可回滚的现代化交付流程。 引言:从CI/CD到GitOps的演进 传统CI/CD的痛点: 环境漂移:不同环境配置不一致,&…

作者头像 李华
网站建设 2026/5/24 10:37:55

操作数据库注意项

数据库最好用VIP登陆,防止主从不一致的情况出现

作者头像 李华
网站建设 2026/5/25 2:30:03

TypeToken到反射工厂,泛型实例化你必须掌握的3大核心技术,少一个都不行

第一章:泛型的实例化 泛型的实例化是编程语言中实现类型安全与代码复用的核心机制之一。它允许开发者编写可适用于多种数据类型的类、接口或方法,而无需在定义时指定具体类型。在运行时,通过为泛型参数传入实际类型,完成泛型的实例…

作者头像 李华
网站建设 2026/5/26 3:33:56

【专家级技术揭秘】:R与Python之间变量传递的3种模式与性能对比

第一章:R与Python变量传递的技术背景与挑战在数据科学和统计计算领域,R与Python是两种最为广泛使用的编程语言。尽管两者各有优势——R在统计建模与可视化方面表现卓越,而Python则以通用编程能力和丰富的机器学习库著称——但在实际项目中&am…

作者头像 李华
网站建设 2026/5/25 19:18:58

量子门序列设计难题,如何用R包实现精准控制?

第一章:量子门序列设计难题,如何用R包实现精准控制?在量子计算中,精确操控量子态依赖于高效的量子门序列设计。由于量子系统极易受噪声干扰,传统手动构造门序列的方法难以满足高保真度需求。近年来,利用R语…

作者头像 李华