102-带环链表

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

样例

给出 -21->10->4->5, tail connects to node index 1,返回 true

挑战

不要使用额外的空间

标签

链表 两根指针

思路

快慢指针的典型应用,使用块指针 fast 与慢指针 slow,slow每次后移一位,fast 每次后移两位,当fast 与 slow 指向同一节点时,说明存在环。就如同操场跑圈时,领先一圈的人会遇上跑在他后面的人那样。

code

/*** Definition of ListNode* class ListNode {* public:*     int val;*     ListNode *next;*     ListNode(int val) {*         this->val = val;*         this->next = NULL;*     }* }*/
class Solution {
public:/*** @param head: The first node of linked list.* @return: True if it has a cycle, or false*/bool hasCycle(ListNode *head) {// write your code hereListNode * fast = head, *slow = head;while(fast != NULL && fast->next != NULL) {slow = slow->next;fast = fast->next->next;if(fast == slow) {return true;}}return false;}
};

转载于:https://www.cnblogs.com/libaoquan/p/7168296.html

lintcode-102-带环链表相关推荐

  1. 【算法面试题】带环链表之灵魂三问!

    文章目录 带环链表之灵魂三问! 一.判断链表是否有环 二.找出环的入口 三.计算环的长度 四.代码实现 带环链表之灵魂三问! 今天舍友二狗子又去面试了,回来就问我们算法问题,看来对于ios开发来说算法 ...

  2. 【神秘海域】[动图] 结合题目-手把手带你剖析 “带环链表”

    文章目录 引言 带环单链表之前 : 快慢指针 题1:单链表的中间结点 题2:链表中倒数最后k个结点 带环链表分析 题:环形链表 带环链表的问题 ⭐带环链表深入分析⭐ * 问题1 问题2 问题3 题:寻 ...

  3. [PHP] 算法-请找出带环链表的环的入口结点的PHP实现

    给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null1.找链表倒数第k个结点,输入一个链表,输出该链表中倒数第k个结点.第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移 ...

  4. 链表是否带环、环入口、环长度、链表相交问题分析与总结

    关于链表的知识总结,参考原博客:http://www.cnblogs.com/hellogiser/p/linked-list-loop-and-intersections.html 一.链表是否带环 ...

  5. 数据结构实验--带环、相交链表问题

    一.问题描述: 基于课程上机关于单链表的作业,要求进一步实现以下需求: 1.构造链表后,将元素值为 m 和 n(从键盘输入,如有多个相同元素值,仅考虑首个出现的元素)的节点建立连接,注意判断节点出现的 ...

  6. 链表带环问题(LeetCode 142)

    目录 记录算法思路 分析题目 1. 判断链表是否带环 2.链表所带环的起始位置 总结 记录算法思路 在LeetCode上做到了一个有意思的题,思路非常有意思,记录如下 原题链接 环形链表Ⅱ 分析题目 ...

  7. 寻找带环的链表的柄长

    试题: 给定一个带环的链表,找出环起点. 比如:A -> B -> C -> D -> E -> C (C为环形起点) 写一个程序找出环起点C. ListNode结构如下 ...

  8. 双向带环带头结点的链表实现栈

    1. 数据结构     利用带头结点带环的结点实现栈的相关操作.因此, 每一个结点包括了一个前驱, 一个后继, 还有一个数据成员 typedef char DLinkStackType;typedef ...

  9. ]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)

    1.判断两个链表是否相交,若相交,求交点.(假设链表不带环) 两个指针同时指向两个链表,分别依次往后遍历链表到最后一个节点,如指针的值相同(即节点地址相同),反之没有交点. int IsCross(N ...

  10. 【数据结构与算法】带环单链表查找环的入口算法

    带环单链表的故事 @不了解前尘往事的Reader,烦请阅读--<判断单链表是否有环的算法> 如何找带环单链表的环的入口 这里只说比较可行的算法吧. 思路一:HashSet第一个重复元素就是 ...

最新文章

  1. Nature综述——真菌的多样性:真菌的高通量测序及鉴定
  2. (转)elasticsearch6.0版本安装head插件
  3. PyTorch 1.8版本!正式支持AMD GPU
  4. python调用bat_python windows 远程执行bat
  5. 【ES】ES 拼音 Pinyin 分词器
  6. r语言 悲观剪枝_《R语言编程—基于tidyverse》新书信息汇总
  7. Linux学习-逻辑滚动条管理员 (Logical Volume Manager)
  8. 备忘录模式--如果再回到从前
  9. windows2003手工安装配置php5详细指南
  10. 信息系统安全复习提纲
  11. Google Street View Data Set | 谷歌街景数据集 | 云盘分享 |
  12. matlab运行出现:Optimization terminated.
  13. 【考研政治】1. 导论和基本哲学问题
  14. 排列组合Cnm的计算公式
  15. 星瑞格数据库安全审计系统 —— Sinoregal dbAudit
  16. Python入门学习笔记1-Python基础
  17. Hive的nvl、coalesce、if、nvl2
  18. java gui 日历_java 日历程序(gui界面)
  19. imopen和bwmorph_数字图像处理第九章讲义.ppt
  20. 图书推荐|计算机组成与设计(原书第5版) 硬件软件接口 RISC-V

热门文章

  1. asp 取数据 计算_地学数据 | 地理空间数据获取方式汇总
  2. powerbuilder中实现多线程同步查询_Power Query中的“追加查询”可以实现合并多个工作表和工作簿...
  3. ICH10R服务器主板是什么芯片,Intel ICH10R 芯片组 RAID配置
  4. 华为抢购助手_华为MateBook 13轻薄本:出差者的首选,学生党的福音
  5. selenium截图模糊_Selenium截屏 图片未加载的问题解决--【懒加载】
  6. linux中bind9源码包安装使用,编译安装bind9
  7. yum 错误:Invalid configuration value: failovermethod=priority
  8. uniapp 页面下次渲染完成后执行:this.$nextTick
  9. windows SVN服务器软件
  10. sudo修改文件夹名字_修改mac os帐户的短名称和个人文件夹