【LeetCode】Linked List Cycle

【LeetCode】Linked List Cycle

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

称号

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?

解答

首先要注意空链表不成环;不能开额外的空间,即空间复杂度是o(1),可採用“快慢指针”查检查链表是否含有环,假设在快的指针可以追上慢的指针,则有环。否则无环。

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public boolean hasCycle(ListNode head) {
        if(head==null){
            return false;
        }
        ListNode fast=head;
        ListNode slow=head;
        while(fast!=null&&fast.next!=null){  //仅仅要推断快指针是否为空就能够了,可是注意当fast是为结点时,fast.next为空。若推断fast.next.next则会报NullPointerException
            slow=slow.next;
            fast=fast.next.next;
            if(slow==fast){
                return true;
            }
        }
        return false;
    }
}

—EOF—

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 变电站后台监控系统[通俗易懂]

    变电站后台监控系统[通俗易懂]变电站后台监控系统实现对35KV变电站的主要设备和输、配电线路的自动监视、测量、自动控制和微机保护,以及与调度通信等综合性的自动化功能。实现对电网运行的实时监控,使值班人员和系统调度人员通过管理平台及时把握系统的运行状态和事故处理的主动性,另外配套的手机客户端软件实现了移动终端功能,可随时随地查看或管理电网,提高电网的自动化管理水平、供电质量。为达到这一目的,满足电网运行对变电站后台监控系统的要求,变电站综合电力自动化系统体系由“数据采集和控制”、“继电保护”、“直流电源系统”三大块构成变电站自动化基础。

    2022年7月25日
    15
  • 正版哈希值校验工具_电子证据哈希值校验

    正版哈希值校验工具_电子证据哈希值校验介绍常用的两个:1、Hash1.04特点:小巧方便快速。缺点:需要自己对比校验,不能粘贴哈希值自行校验对错。图片是汉化版的界面,原作者RobinKeir有个自己工具的网站就在软件标题栏的后面:http://keri.net。有兴趣的可以下载英文原版的,网速可能有点慢。2、IHasherv0.2特点:可以自行对比校验对错。缺点:没什么大缺点。看标题栏后面的网址就明白了,是m…

    2025年11月4日
    5
  • acwing-2180. 最长递增子序列问题(最大流+拆点+最长上升子序列)

    acwing-2180. 最长递增子序列问题(最大流+拆点+最长上升子序列)给定正整数序列 x1,⋯,xn。计算其最长递增子序列的长度 s。计算从给定的序列中最多可取出多少个长度为 s 的递增子序列。(给定序列中的每个元素最多只能被取出使用一次)如果允许在取出的序列中多次使用 x1 和 xn,则从给定序列中最多可取出多少个长度为 s 的递增子序列。注意:递增指非严格递增。输入格式第 1 行有 1 个正整数 n,表示给定序列的长度。接下来的 1 行有 n 个正整数 x1,⋯,xn。输出格式第 1 行输出最长递增子序列的长度 s。第 2 行输出可取出的长度为 s 的

    2022年8月9日
    8
  • mysql聚簇索引,非聚簇索引「建议收藏」

    mysql聚簇索引,非聚簇索引「建议收藏」聚簇索引错放了整行数据的值,聚簇索引使用了B+TREE,这是一种多路平衡查询书,节点天然有序(方便范围查询和排序,而哈希索引不具备,同时哈希索引适合等值查询,不支持最左前缀匹配规则,且在有大量重复键的

    2022年7月4日
    27
  • 说说 SpringMVC 工作原理

    说说 SpringMVC 工作原理说说SpringMVC工作原理1、SpringMVC流程2、组件说明3、MVC模式4、SpringMVC是什么先看一张SpringMVC的工作原理图:1、SpringMVC流程1、用户发送请求至前端控制器DispatcherServlet。2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServ

    2022年5月14日
    43
  • java代码块

    java代码块

    2021年9月29日
    53

发表回复

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

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