96.(142)环形链表 ||
题目描述:
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 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)环形链表 ||相关推荐
- LeetCode-链表-142. 环形链表 II
描述 142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 ...
- 142. 环形链表 II golang
142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始 ...
- LeetCode 142 环形链表 II
题目描述 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开 始). 如果 po ...
- 【LeetCode】【HOT】142. 环形链表 II(快慢指针)
[LeetCode][HOT]142. 环形链表 II 文章目录 [LeetCode][HOT]142. 环形链表 II package hot;class ListNode{int val;List ...
- LeetCode 142. 环形链表 II(Linked List Cycle II)
142. 环形链表 II 142. Linked List Cycle II 题目描述 给定一个链表,返回链表开始入环的第一个节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整 ...
- 142. 环形链表 ||
142. 环形链表 || /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* Li ...
- 如何判断链表中是否存在环?Floyd判圈算法 leetcode刷题笔记 142. 环形链表 II
这道题使用了floyd判圈算法,所以先讲解floyd算法的原理和实现,最后在附加上第142题的代码. floyd算法: 一.用途: 可以在有限状态机.迭代函数或者链表上判断是否存在环,求出该环的起点与 ...
- #142. 环形链表
#142. 环形链表 题目 给定一个链表,返回链表入环的第一个节点.如果无环,返回Null. 解答 HashSet解法 设置cur指针,一直把cur指针更新为cur.next. 如果哪一次新看的cur ...
- LeetCode 142. 环形链表 II - Python 快慢指针法+详解
题目 142. 环形链表 II 难度中等761 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的 ...
- 【Leetcode】拿捏链表(四)——160. 相交链表、141. 环形链表、142. 环形链表 II
作者:一个喜欢猫咪的的程序员 专栏:<Leetcode> 喜欢的话:世间因为少年的挺身而出,而更加瑰丽. --<人民 ...
最新文章
- 团队作业4——第一次项目冲刺(Alpha版本)4.28
- 智源抗疫 - 药物研发小分子性质预测赛
- 云创大会来了!全行业关心的热点都在这里
- 新的旅程:NodeJS - 环境篇
- 关于程序变式中动态选择的一点说明
- 在Docker中配置ASP.NETCore的HTTPS模式
- oracle如何创建视图
- 获取别人_职场潜规则:要想获取别人信任与更多机会,先要学会勇于承担责任...
- ios android 通用字体,教你如何在iOS项目中设置各种字体
- FolderSync PC 电脑 FTP 同步方法
- 基于 MindStudio 完成 SE-ResNeXt101- PyTorch 模型开发
- 程序员做技术管理需要懂哪些方面?
- VMware vSphere 8 新增功能
- 520情人节告白❤HTML+CSS+JavaScript实现抖音流动爱心
- 从浙大计算机到字节算法岗!
- 习题5-7 使用函数求余弦函数的近似值 (15 分)
- ASA防火墙之透明模式的使用及配置
- 这个世界总是对优秀的人充满了敌意。
- 第六章:MATLAB:二维绘图(plot绘图命令 fplot命令 ezplot命令 不同的坐标系)
- python实现懒人听书