问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3901 访问。

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

进阶:
你能否不使用额外空间解决此题?


Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3901 访问。

public class Program {public static void Main(string[] args) {var head = new ListNode(1) {next = new ListNode(2) {next = new ListNode(1) {next = new ListNode(2) {next = new ListNode(3)}}}};var res = HasCycle(head);Console.WriteLine(res);Console.ReadKey();}private static bool HasCycle(ListNode head) {var pointer = head;while(pointer != null && pointer.next != null) {head = head.next;pointer = pointer.next.next;if(pointer == head) return true;}return false;}public class ListNode {public int val;public ListNode next;public ListNode(int x) { val = x; }}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3901 访问。

False

分析:

显而易见,以上算法的时间复杂度为: 

C#LeetCode刷题之#141-环形链表(Linked List Cycle)相关推荐

  1. 【leetcode刷题】16.环形链表——Java版

    ⭐欢迎订阅<leetcode>专栏,每日一题,每天进步⭐ 使用快慢指针,若指针相遇则判断有环 --leetcode此题热评 前言 哈喽,大家好,我是一条. 糊涂算法,难得糊涂 Questi ...

  2. 如何判断链表中是否存在环?Floyd判圈算法 leetcode刷题笔记 142. 环形链表 II

    这道题使用了floyd判圈算法,所以先讲解floyd算法的原理和实现,最后在附加上第142题的代码. floyd算法: 一.用途: 可以在有限状态机.迭代函数或者链表上判断是否存在环,求出该环的起点与 ...

  3. LeetCode刷题 --杂篇 --数组,链表,栈,队列

    武汉加油,中国加油.希望疫情早日结束. 由于疫情,二狗寒假在家不能到处乱逛,索性就在家里系统的刷一下算法的内容,一段时间下来倒也有些小小的收获.只是一来家中的小破笔记本写起博客来实在不是很顺手,二来家 ...

  4. C#LeetCode刷题之#234-回文链表(Palindrome Linked List)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3905 访问. 请判断一个链表是否为回文链表. 输入: 1-> ...

  5. 卷进大厂系列之LeetCode刷题笔记:反转链表(简单)

    学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3 ...

  6. 卷进大厂系列之LeetCode刷题笔记:设计链表(中等)

    学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下 ...

  7. C#LeetCode刷题之#707-设计链表(Design Linked List)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4118 访问. 设计链表的实现.您可以选择使用单链表或双链表.单链 ...

  8. C#LeetCode刷题之#160-相交链表(Intersection of Two Linked Lists)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3824 访问. 编写一个程序,找到两个单链表相交的起始节点. 例如 ...

  9. leetcode 刷题140 141

    动态规划我认为最难的算法 学习别人的代码 class Solution:def wordBreak(self, s: str, wordDict: list) -> list:"&qu ...

最新文章

  1. 图神经网络新课上架:​宾大2020秋季在线课程开课,视频上线B站
  2. 剑桥大学发布2019年度AI发展报告,预测未来12个月AI产业6件大事
  3. 云数据库管理与数据迁移
  4. 如何通过示例在Java中使用CopyOnWriteArraySet
  5. PHP header的一些用法
  6. C++ vector查找某个特定元素是否存在
  7. 转专业学计算机难嘛,大学转专业容易吗 转专业需要什么条件
  8. 沈阳职业计算机学院宿舍几人间,沈阳工学院宿舍怎么样 住宿条件好不好
  9. .net oracle 参数化,.NET参数化Oracle查询参数
  10. 开发者自述:我是如何从 0 到 1 走进 Kaggle 的
  11. GoLand 快速入门教程
  12. mysql change column_Modify column Vs change column
  13. php天气预报小偷,php天气预报的小偷程序
  14. 机器学习 —— 神经网络(matlab)
  15. 【2020-07】字节跳动面试凉经(年轻人的第一场 技术面试)
  16. 设计模式(十四)中介者模式
  17. 6 生僻字_又双叒叕,火炎焱燚......神曲《生僻字》原唱来了!
  18. 2020西式面点师(高级)模拟考试及西式面点师(高级)考试试题
  19. 个人计算机和家用计算机的区别,量子计算机与普通计算机的区别?
  20. linux培训_南通linux培训多少钱

热门文章

  1. 数据清洗-拉格朗日插值
  2. Python与机器视觉(x)图像差分-图像相减
  3. 一些常见的光学标定板模式
  4. 【C++ STL学习之五】容器set和multiset
  5. 双层循环嵌套打印矩形 java
  6. python-虚拟环境的作用
  7. MNS消息服务计费处理参考
  8. Damon Edwards:IT运营是最可预测的DevOps差异化因素
  9. C#设计模式:迭代器模式(Iterator Pattern)
  10. ASP程序密码验证漏洞