141. 环形链表(链表)

141. 环形链表(链表)给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1:输入:head = [3,2,0,-4],

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

如果链表中存在环,则返回 true 。 否则,返回 false 。

进阶:

你能用 O(1)(即,常量)内存解决此问题吗?

示例 1:



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



输入:head = [1,2], pos = 0
输出:true
解释:链表中有一个环,其尾部连接到第一个节点。
示例 3:



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

提示:

链表中节点的数目范围是 [0, 104]
-105 <= Node.val <= 105
pos 为 -1 或者链表中的一个 有效索引 。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */
set<ListNode *>m;
class Solution { 
   
public:
    
    bool hasCycle(ListNode *head) { 
   
        ListNode * t = head;
        if(head == NULL || head->next == NULL)return false;
        ListNode *tt = head ->next;
        while(t != NULL && tt != NULL){ 
   
            t = t->next;
            tt = tt->next;
            if(tt == t)return true;
            if(tt == NULL)return false;
            else tt = tt->next;
            if(tt == t)return true;
        }
        return false;
    }
};
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */
set<ListNode *>m;
class Solution { 
   
public:
    
    bool hasCycle(ListNode *head) { 
   
        if(head == NULL || head -> next == NULL)return false;
        ListNode *slow = head,*fast = head -> next;
        while(fast != NULL){ 
   
            if(slow == fast)return true;
            slow = slow -> next;
            if(fast -> next == NULL)return false;
            fast = fast -> next -> next;
        }
        return false;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168554.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP程序开发之使用header定义一个php页面为utf-8编码或GBK编码「建议收藏」

    PHP程序开发之使用header定义一个php页面为utf-8编码或GBK编码「建议收藏」php页面为utf-8编码 header(“Content-type:text/html;charset=utf-8”); php页面为gbk编码 header(“Content-type:text/html;charset=gb2312”); php页面为big5编码 header(“Content-type:text/html;charset=b

    2022年7月11日
    15
  • Vs2013 简单定制安装

    Vs2013 简单定制安装

    2022年3月5日
    31
  • plsql developer 使用技巧[通俗易懂]

    plsql developer 使用技巧[通俗易懂] Oracle数据库相信已成为很多企业构建自身关键业务的重要后台支撑,也是众多开发人员常常采用的后台。但Oracle自己提供的一套客户端工具不是很好用,极大的影响了工作效率,幸好现在有了PL/SQLDeveloper这款工具。现在越来越多的开发人员成了它的忠实fans。本文就是立足于实用的基础上,总结了了改工具的常用技巧:   1.记住登陆密码   为了工作方便希望PL/SQLDe…

    2022年5月18日
    25
  • Java安全之挖掘回显链

    Java安全之挖掘回显链0x00前言前文中叙述反序列化回显只是为了拿到Request和Response对象。在这里说的的回显链其实就是通过一连串反射代码获取到该Request对象。在此之前想吹

    2021年12月13日
    46
  • 如何测试硬盘软件,win10系统怎么用硬盘检测工具HDTune【图文】「建议收藏」

    如何测试硬盘软件,win10系统怎么用硬盘检测工具HDTune【图文】「建议收藏」HDTune是一款专业的硬盘检测工具,虽然占用内存不大,但是能够全面的检测硬盘的传输速度、温度以及健康状况等。很多新手用户可能并不知道HDTune怎么用,对此,小编特意去整理win10系统硬盘检测工具HDTune的使用方法。具体方法如下:1、HDTune使用方法很简单,打开HDTune硬盘检测工具后我们可以选择硬盘,在主界面就可以看到硬盘的温度;2、在HDTune硬盘检测工具右侧选择读取或者写入,…

    2022年7月15日
    22
  • Linux中卸载Jenkins命令

    Linux中卸载Jenkins命令卸载1、rpm卸载rpm-ejenkins2、检查是否卸载成功rpm-qljenkins3、彻底删除残留文件:find/-inamejenkins|xargs-n1000rm-rf

    2022年5月4日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号