题目描述:

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

说明:不允许修改给定的链表。

示例 1

输入:head = [3,2,0,-4], pos = 1
输出:tail connects to node index 1
解释:链表中有一个环,其尾部连接到第二个节点。


示例 2:

输入:head = [1,2], pos = 0
输出:tail connects to node index 0
解释:链表中有一个环,其尾部连接到第一个节点。


示例 3:

输入:head = [1], pos = -1
输出:no cycle
解释:链表中没有环。

进阶:
你是否可以不用额外空间解决此题?

代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *detectCycle(ListNode *head) {if(head==NULL||head->next==NULL||head->next->next==NULL)return NULL;ListNode *fast,*slow;slow=head->next;fast=head->next->next;while (slow != fast){//有空节点说明不是环if(fast->next == NULL || fast->next->next == NULL){return NULL;}slow = slow->next;fast = fast->next->next;}slow=head;while(slow!=fast){slow=slow->next;fast=fast->next;}return slow;}
};

执行效率:

执行用时:8 ms, 在所有 C++ 提交中击败了96.00%的用户

内存消耗:7.9 MB, 在所有 C++ 提交中击败了100.00%的用户

96.(142)环形链表 ||相关推荐

  1. LeetCode-链表-142. 环形链表 II

    描述 142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 ...

  2. 142. 环形链表 II golang

    142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始 ...

  3. LeetCode 142 环形链表 II

    题目描述 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开 始). 如果 po ...

  4. 【LeetCode】【HOT】142. 环形链表 II(快慢指针)

    [LeetCode][HOT]142. 环形链表 II 文章目录 [LeetCode][HOT]142. 环形链表 II package hot;class ListNode{int val;List ...

  5. LeetCode 142. 环形链表 II(Linked List Cycle II)

    142. 环形链表 II 142. Linked List Cycle II 题目描述 给定一个链表,返回链表开始入环的第一个节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...

  6. 142. 环形链表 ||

    142. 环形链表 || /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* Li ...

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

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

  8. #142. 环形链表

    #142. 环形链表 题目 给定一个链表,返回链表入环的第一个节点.如果无环,返回Null. 解答 HashSet解法 设置cur指针,一直把cur指针更新为cur.next. 如果哪一次新看的cur ...

  9. LeetCode 142. 环形链表 II - Python 快慢指针法+详解

    题目 142. 环形链表 II 难度中等761 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的 ...

  10. 【Leetcode】拿捏链表(四)——160. 相交链表、141. 环形链表、142. 环形链表 II

    作者:一个喜欢猫咪的的程序员 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽.                                  --<人民 ...

最新文章

  1. 团队作业4——第一次项目冲刺(Alpha版本)4.28
  2. 智源抗疫 - 药物研发小分子性质预测赛
  3. 云创大会来了!全行业关心的热点都在这里
  4. 新的旅程:NodeJS - 环境篇
  5. 关于程序变式中动态选择的一点说明
  6. 在Docker中配置ASP.NETCore的HTTPS模式
  7. oracle如何创建视图
  8. 获取别人_职场潜规则:要想获取别人信任与更多机会,先要学会勇于承担责任...
  9. ios android 通用字体,教你如何在iOS项目中设置各种字体
  10. FolderSync PC 电脑 FTP 同步方法
  11. 基于 MindStudio 完成 SE-ResNeXt101- PyTorch 模型开发
  12. 程序员做技术管理需要懂哪些方面?
  13. VMware vSphere 8 新增功能
  14. 520情人节告白❤HTML+CSS+JavaScript实现抖音流动爱心
  15. 从浙大计算机到字节算法岗!
  16. 习题5-7 使用函数求余弦函数的近似值 (15 分)
  17. ASA防火墙之透明模式的使用及配置
  18. 这个世界总是对优秀的人充满了敌意。
  19. 第六章:MATLAB:二维绘图(plot绘图命令 fplot命令 ezplot命令 不同的坐标系)
  20. python实现懒人听书

热门文章

  1. 为什么追踪员工的时间和出勤率很重要
  2. 【目标检测——OHEM 解读】处理类别不平衡问题
  3. vue里dom节点和window对象
  4. Sublime Text 常用热键
  5. Linux时间戳不匹配
  6. wifi产品演进趋势
  7. php获得服务器路径,PH获取当前url路径及服务器路径汇总 (url 获取当前路径 服务器路径),ph当前路径_PHP教程...
  8. Jason格式化Google插件FeHelper(Get请求)
  9. 运动戴什么耳机好,推荐五款无线运动蓝牙耳机
  10. C++ MFC常用API