算法141. 环形链表
短信预约 -IT技能 免费直播动态提醒
1. 题目描述
给定一个链表,判断链表中是否有环。
为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。
示例 1:
输入:head = [3,2,0,-4], pos = 1
输出:true
解释:链表中有一个环,其尾部连接到第二个节点。
示例 2:
输入:head = [1,2], pos = 0
输出:true
解释:链表中有一个环,其尾部连接到第一个节点。
示例 3:
输入:head = [1], pos = -1
输出:false
解释:链表中没有环。
进阶:
你能用 O(1)(即,常量)内存解决此问题吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/linked-list-cycle
2. 解题思路
3. 测试结果
解法一、双指针法
4. C版
bool hasCycle(struct ListNode* head) { if (head == NULL) return false; struct ListNode* fast = head->next, * slow = head; while (fast && fast->next) { fast = fast->next->next; slow = slow->next; if (fast == slow) return true; } return false;}
6. 复杂度分析
解法一、双指针法
时间复杂度:O(n)
空间复杂度:O(1)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
算法141. 环形链表
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
算法141. 环形链表
1. 题目描述给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4
2023-06-03
2024-04-02
2024-04-02
2024-04-02
【链表问题】环形单链表约瑟夫问题
前言以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢【题目描述】【要求】输入:一个环形单向链表的头节点 head 和报数 m.返回:最后
2023-06-02
Python如何实现环形链表
这篇文章主要介绍“Python如何实现环形链表”,在日常操作中,相信很多人在Python如何实现环形链表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现环形链表”的疑惑有所帮助!接下来,请跟
2023-06-30
2023-09-30
Go中怎么遍历环形链表
在Go中遍历环形链表可以通过两种方法实现:快慢指针法:使用两个指针,一个慢指针每次移动一步,一个快指针每次移动两步。如果链表中有环,那么这两个指针最终会相遇。具体实现代码如下:type ListNode struct {Val intNe
2024-04-03
2024-04-02
2024-04-02
2024-04-02
2024-04-02
C语言怎么实现带头双向环形链表
本篇内容主要讲解“C语言怎么实现带头双向环形链表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么实现带头双向环形链表”吧!双向循环链表上一次我们讲了单向无头非循环链表的实现,单向无头非循
2023-06-21
2024-04-02
2024-04-02
C语言数据结构中单向环形链表怎么实现
这篇“C语言数据结构中单向环形链表怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言数据结构中单向环形链表怎么实现
2023-06-29
Python单向循环链表的创建方法
小编给大家分享一下Python单向循环链表的创建方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1.简单易学
2023-06-14
c语言环形加密算法怎么实现
C语言环形加密算法的实现可以基于以下思路:输入待加密的字符串和密钥。将字符串存储在一个字符数组中。定义一个循环变量i,初始化为0。遍历字符数组,对每个字符进行加密操作:将当前字符与密钥的对应位置的字符相加,得到加密后的字符。如果加密
2024-02-29
2024-04-02
2024-04-02