lintcode-102-带环链表
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-带环链表相关推荐
- 【算法面试题】带环链表之灵魂三问!
文章目录 带环链表之灵魂三问! 一.判断链表是否有环 二.找出环的入口 三.计算环的长度 四.代码实现 带环链表之灵魂三问! 今天舍友二狗子又去面试了,回来就问我们算法问题,看来对于ios开发来说算法 ...
- 【神秘海域】[动图] 结合题目-手把手带你剖析 “带环链表”
文章目录 引言 带环单链表之前 : 快慢指针 题1:单链表的中间结点 题2:链表中倒数最后k个结点 带环链表分析 题:环形链表 带环链表的问题 ⭐带环链表深入分析⭐ * 问题1 问题2 问题3 题:寻 ...
- [PHP] 算法-请找出带环链表的环的入口结点的PHP实现
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null1.找链表倒数第k个结点,输入一个链表,输出该链表中倒数第k个结点.第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移 ...
- 链表是否带环、环入口、环长度、链表相交问题分析与总结
关于链表的知识总结,参考原博客:http://www.cnblogs.com/hellogiser/p/linked-list-loop-and-intersections.html 一.链表是否带环 ...
- 数据结构实验--带环、相交链表问题
一.问题描述: 基于课程上机关于单链表的作业,要求进一步实现以下需求: 1.构造链表后,将元素值为 m 和 n(从键盘输入,如有多个相同元素值,仅考虑首个出现的元素)的节点建立连接,注意判断节点出现的 ...
- 链表带环问题(LeetCode 142)
目录 记录算法思路 分析题目 1. 判断链表是否带环 2.链表所带环的起始位置 总结 记录算法思路 在LeetCode上做到了一个有意思的题,思路非常有意思,记录如下 原题链接 环形链表Ⅱ 分析题目 ...
- 寻找带环的链表的柄长
试题: 给定一个带环的链表,找出环起点. 比如:A -> B -> C -> D -> E -> C (C为环形起点) 写一个程序找出环起点C. ListNode结构如下 ...
- 双向带环带头结点的链表实现栈
1. 数据结构 利用带头结点带环的结点实现栈的相关操作.因此, 每一个结点包括了一个前驱, 一个后继, 还有一个数据成员 typedef char DLinkStackType;typedef ...
- ]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)
1.判断两个链表是否相交,若相交,求交点.(假设链表不带环) 两个指针同时指向两个链表,分别依次往后遍历链表到最后一个节点,如指针的值相同(即节点地址相同),反之没有交点. int IsCross(N ...
- 【数据结构与算法】带环单链表查找环的入口算法
带环单链表的故事 @不了解前尘往事的Reader,烦请阅读--<判断单链表是否有环的算法> 如何找带环单链表的环的入口 这里只说比较可行的算法吧. 思路一:HashSet第一个重复元素就是 ...
最新文章
- Nature综述——真菌的多样性:真菌的高通量测序及鉴定
- (转)elasticsearch6.0版本安装head插件
- PyTorch 1.8版本!正式支持AMD GPU
- python调用bat_python windows 远程执行bat
- 【ES】ES 拼音 Pinyin 分词器
- r语言 悲观剪枝_《R语言编程—基于tidyverse》新书信息汇总
- Linux学习-逻辑滚动条管理员 (Logical Volume Manager)
- 备忘录模式--如果再回到从前
- windows2003手工安装配置php5详细指南
- 信息系统安全复习提纲
- Google Street View Data Set | 谷歌街景数据集 | 云盘分享 |
- matlab运行出现:Optimization terminated.
- 【考研政治】1. 导论和基本哲学问题
- 排列组合Cnm的计算公式
- 星瑞格数据库安全审计系统 —— Sinoregal dbAudit
- Python入门学习笔记1-Python基础
- Hive的nvl、coalesce、if、nvl2
- java gui 日历_java 日历程序(gui界面)
- imopen和bwmorph_数字图像处理第九章讲义.ppt
- 图书推荐|计算机组成与设计(原书第5版) 硬件软件接口 RISC-V
热门文章
- asp 取数据 计算_地学数据 | 地理空间数据获取方式汇总
- powerbuilder中实现多线程同步查询_Power Query中的“追加查询”可以实现合并多个工作表和工作簿...
- ICH10R服务器主板是什么芯片,Intel ICH10R 芯片组 RAID配置
- 华为抢购助手_华为MateBook 13轻薄本:出差者的首选,学生党的福音
- selenium截图模糊_Selenium截屏 图片未加载的问题解决--【懒加载】
- linux中bind9源码包安装使用,编译安装bind9
- yum 错误:Invalid configuration value: failovermethod=priority
- uniapp 页面下次渲染完成后执行:this.$nextTick
- windows SVN服务器软件
- sudo修改文件夹名字_修改mac os帐户的短名称和个人文件夹