刷到 LeetCode 这个评论,被笑到了

2023-05-16

大家好,我是吴师兄。

今天早上我在 LeetCode 第 141 号问题 环形链表 的评论区中发现了一个称得上是天秀的解法,简直太骚气了,忍不住分享给大家。

首先给没有见过这道题目的小伙伴补充一下前置知识, 环形链表这道题目讲的是给你一个链表的头节点 head ,判断链表中是否有环。

所谓链表有环,直观上来看就是这个样子:

严谨一些的说明指的是如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。

一般正经解法是使用快慢指针的思路,即在开头设置两个指针,一个跑的快,一个跑的慢,如果两个指针再次重新相遇,那么就说明有环。

这个思路挺好理解的,在一个环形操场上,跑的快的人总是能和跑的慢的人再次相遇。

但是这个评论区的小伙伴面向测试用例编程,给出了如下的代码:

public class Solution {
    public boolean hasCycle(ListNode head) {
        
        int count = 8029;

        while( head != null && count > 0){

            head = head.next;

            count--;
        }

        if( head == null ) return false;

        return true;

    }
}

上述代码的含义是从链表的头节点,沿着链表不断地向后移动,移动 8029 次后,如果此时指向的是空,说明链表是一条直线不存在环,反之存在环。

很合理的思路

如果一个链表的长度小于 8029,当它没有环时,不需要移动 8029 次就会来到尾部指向 null;当它存在环时,那么会在这个环中绕圈圈,最终移动 8029 次后指向一个存在值的节点。

提交一下代码,报错!

点击查看全部,发现最后一个测试用例链表的长度扩充到了 10000 。

简单的修改一下代码,将 count = 8029 修改为 count = 10001,再次提交。

牛逼,击败 100% !

LeetCode 评论区的人才可真多!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

刷到 LeetCode 这个评论,被笑到了 的相关文章

  • getchar()函数使用要点

    注意点 xff1a 该函数一次只能读取一个字符 xff0c 但只在键盘上输入一个字符 xff08 回车外 xff09 时 xff0c getchar 函数读不到任何字符 xff0c 只有按下回车之后getchar 函数才会真正读取字符 键盘
  • 例子程序1:读取文件内容并打印到屏幕上

    文件名 xff1a 作者 xff1a kehanxin 时间 xff1a 说明 xff1a 读取特定文件paper txt中内容并打印在屏幕上 span class hljs comment include lt stdio h gt sp
  • 复制字符串strcpy()函数

    strcpy 函数原型 xff1a span class hljs preprocessor include lt string h gt span span class hljs keyword char span span class
  • Linux系统组成

    Linux一般有4个主要部分 xff1a 内核 Shell 文件系统 应用程序 Shell是一个命令解释器 xff0c 它解释用户输入的命令并且把它们送到内核执行 目前常见的Shell有Bourne Shell sh Korn Shell
  • 在VC++6.0中嵌入汇编

    span class hljs preprocessor include lt stdio h gt span span class hljs keyword int span main span class hljs keyword in

随机推荐

  • VS Code For Web 深入浅出 -- 进程间通信篇

    在上一篇中 xff0c 我们一起分析了 VS Code 整体的代码架构 xff0c 了解了 VS Code 是由前后端分离的方式开发的 且无论前端是基于 electron 还是 web xff0c 后端是本地还是云端 xff0c 其调用方式
  • QtMath:通用数学函数

    头文件 xff1a include lt QtMath gt 一 描述 这些函数是 C 或标准模板库中不可用的基本数学运算的部分方便定义 二 宏成员 M E xff1a 自然对数的底 xff0c e 61 exp 1 M LOG2E xff
  • 深入剖析PE文件 (告诉你exe文件打开后是依据什么来创建进程并在系统中运行)

    转自 深入剖析PE文件 告诉你exe文件打开后是依据什么来创建进程并在系统中运行 转载自http lwglucky blog 51cto com 1228348 283812 PE文件是Win32的原生文件格式 每一个Win32可执行文件都
  • 串口和TCP互相转发工具

    由于项目调试需求 xff0c 代码在远程服务器的虚拟机上 xff0c 在本地计算机通过串口连接需要对接的设备 xff0c 在远程服务器的上位机程序需要和此设备进行对接 xff0c 系统结构如图1所示 图1 系统网络结构图 如何将本地的串口共
  • Linux系统基础操作管理

    一 系统基础操作规范 1 第一个规范 输出命令信息需要在命令提示符之后输入 命令提示符 xff1a span class token punctuation span root 64 oldboy span class token punc
  • 解决Flask跨域问题的几种方式

    本文收录于 Python开发 专栏 xff0c 此专栏聚焦于Python开发中的编程技巧和总结 xff0c 将持续更新 xff0c 欢迎大家订阅 xff01 个人主页 xff1a 有梦想的程序星空个人介绍 xff1a 小编是人工智能领域硕士
  • STL四种智能指针浅析

    我们知道 xff0c 在C 43 43 中没有像Java那样的自动回收垃圾机制 xff0c xff0c 系统只会清理栈上由系统管理的资源 xff0c 在类中若有对堆资源的申请 xff0c 不进行手动释放资源就会导致内存泄漏问题 xff0c
  • C++摸板类 声明对象编译不过 类声明和实现都要放在头文件里

    通常情况下 xff0c 你会在 h文件中声明函数和类 xff0c 而将它们的定义放置在一个单独的 cpp文件中 但是在使用模板时 xff0c 这种习惯性做法将变得不再有用 xff0c 因为当实例化一个模板时 xff0c 编译器必须看到模板确
  • 什么是大端序和小端序,为什么要有字节序

    什么是字节序 字节序 xff0c 又称端序或尾序 xff08 英语中用单词 xff1a Endianness 表示 xff09 xff0c 在计算机领域中 xff0c 指电脑内存中或在数字通信链路中 xff0c 占用多个字节的数据的字节排列
  • opencv4.3.0+Visual Studio 2019环境配置

    1 1 解压opencv并添加环境变量 下载opencv4 3 0 xff0c 进行安装 其实是解压 xff0c 之后配置环境变量 xff0c 我的电脑 gt 属性 gt 高级系统设置 gt 环境变量 xff0c 找到Path变量 xff0
  • 动画图解:十大经典排序算法动画与解析,看我就够了!(配代码完全版)

    排序算法是 数据结构与算法 中最基本的算法之一 排序算法可以分为内部排序和外部排序 内部排序是数据记录在内存中进行排序 而外部排序是因排序的数据很大 xff0c 一次不能容纳全部的排序记录 xff0c 在排序过程中需要访问外存 常见的内部排
  • 什么是 P = NP 问题?

    点击关注上方 五分钟学算法 xff0c 设为 置顶或星标 xff0c 第一时间送达干货 转自后端技术指南针 1 前言 今天和大家一起了解个高能知识点 xff1a P 61 NP问题 看到这里我们可能是一头雾水 xff0c 不由得发问 xff
  • 问题集合 ---- linux 静态库和动态库

    本文转自多网址 xff0c 对作者表示感谢 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • 图解:什么是二叉排序树?

    点击关注上方 五分钟学算法 xff0c 设为 置顶或星标 xff0c 第一时间送达干货 转自景禹 景禹的写作风格还是一如既往的细腻 xff1a xff09 xff0c 欢迎关注他 以下为原文 今天我们谈一谈 二叉排序树 xff0c 一种你会
  • B 站疯传,堪称最强,10 大免费的白嫖网站

    点击上方 五分钟学算法 xff0c 选择 星标 公众号 重磅干货 xff0c 第一时间送达 来源 xff1a Python知识圈 如果你喜欢在 B 站学习的话 xff0c 可以经常看到一些介绍网站类的视频 xff0c 这些视频有不俗的播放量
  • 还敢搞黄色?4 个色情网站被一锅端,9 名福利姬被刑拘!

    点击上方 五分钟学算法 xff0c 选择 星标 公众号 重磅干货 xff0c 第一时间送达 来源 xff1a 扩展迷EXTFANS 9月4日 xff0c 据 64 江苏网警 通报 xff1a 今年3月份以来 xff0c 浙江丽水莲都警方根据
  • 为什么有人劝别选计算机专业?

    大家好 xff0c 我是程序员吴师兄 xff0c 一个坚持在 CSDN 日更原创的程序员 今天想和大家聊一聊为什么有人劝别选计算机专业 和大家说一句掏心窝的话 xff1a 直到 2021 年 xff0c 计算机专业依旧是寒门改变命运的一个最
  • 看完谷歌大佬的 LeetCode 刷题笔记,我马上去字节跳动面试!

    如果你刷 LeetCode 觉得吃力 那么一定需要这份谷歌大佬的 LeetCode 刷题笔记 微信搜索 五分钟学算法 xff0c 公众号回复 04 即可获取对应的下载链接 xff0c 以下是详细介绍 在这里推荐一个谷歌大佬的刷题笔记 每一道
  • 剑指 Offer 09. 用两个栈实现队列(视频讲解)

    一 题目描述 用两个栈实现一个队列 队列的声明如下 xff0c 请实现它的两个函数 appendTail 和 deleteHead xff0c 分别完成在队列尾部插入整数和在队列头部删除整数的功能 若队列中没有元素 xff0c delete
  • 刷到 LeetCode 这个评论,被笑到了

    大家好 xff0c 我是吴师兄 今天早上我在 LeetCode 第 141 号问题 环形链表 的评论区中发现了一个称得上是天秀的解法 xff0c 简直太骚气了 xff0c 忍不住分享给大家 首先给没有见过这道题目的小伙伴补充一下前置知识 x