【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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • socks4代理网络渗透测试实验

    socks4代理网络渗透测试实验实验目的:利用2级代理功能对3层网络进行渗透测试靶机ubantu192.168.31.207192.168.1.129ubantu192.168.1.100192.168.2.10windows2009192.168.2.100192.168.首先访问192.1…

    2022年6月14日
  • 《关于VirtualBox在桥接模式下无法联网 解决方案》

    《关于VirtualBox在桥接模式下无法联网 解决方案》博主遇到了这个问题,百度了大半天还是没有解决到,可能是由于下面链接的文章的标题关键词比较偏,很难精确的定位到此文章,于是博主就决定总结归纳了一下,希望对大家有所帮助。。经过无数次的百度,早已厌倦粘贴党,问牛答马党,错误党,大大的浪费了大家的时间,于是博主开了这篇文章..我们在VBOX上面安装了Linux之后,VBOX默认网络设置是使用NAT模式的,这种方式宿

    2022年5月8日
  • JSP实用教程(基础入门教程)

    一、JSP技术概述  在Sun正式发布JSP(JavaServerPages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照Sun的说法,JSP能够适应市场上包括ApacheWebServer、IIS4.0在内的85%的服务器产品。即使您对ASP”一往情深”,我们认为,关注

    2022年4月17日
  • 架设私有的Git服务器[通俗易懂]

    架设私有的Git服务器[通俗易懂]Git是一个版本控制系统,现如今正在被全世界大量开发者使用。许多公司喜欢使用基于Git版本控制的GitHub代码托管。根据报道,GitHub是现如今全世界最大的代码托管网站。GitHub宣称已经有920万用户和2180万个仓库。许多大型公司现如今也将代码迁移到GitHub上。甚至于谷歌,一家搜索引擎公司,也正将代码迁移到GitHub上。GitHub能提供极佳的服务,但却有一些限制,尤其是你是单人或是一名coding爱好者。GitHub其中之一的限制就是其中免费的服务没有提

    2022年9月26日
  • mybatiscodehelperpro官网_iphone更新现在安装

    mybatiscodehelperpro官网_iphone更新现在安装mybatis的插件

    2022年9月21日
  • HTML+CSS登陆界面实例

    HTML+CSS登陆界面实例登录界面截图项目代码仓库地址项目的代码放在了github的代码仓库当中:点我项目访问地址将登录界面项目部署在了github上面:点我项目代码解析项目的界面简析主要部分是Login的模块,包括username文本框和password文本框以及Login的按钮将Login模块进行居中,并且设置背景半透明添加背景框项目基本框架html代码解析大写的Login英文字母采用标题…

    2022年6月11日

发表回复

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

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