每日一题——LeetCode141.环形链表

个人主页:白日依山璟

专栏:Java|数据结构与算法|每日一题

文章目录

    • 1. 题目描述
      • 示例1:
      • 示例2:
      • 示例3:
      • 提示:
    • 2. 思路
    • 3. 代码

1. 题目描述

给你一个链表的头节点 head ,判断链表中是否有环。

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

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

示例1:

img

输入:head = [3,2,0,-4], pos = 1

输出:true

解释:链表中有一个环,其尾部连接到第二个节点。

示例2:

img

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

示例3:

img

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

提示:

  • 链表中节点的数目范围是 [0, 104]
  • -105 <= Node.val <= 105
  • pos-1 或者链表中的一个有效索引

题目链接

2. 思路

  1. 定义两个指针,一快一慢。慢指针每次移动一次,而快指针每次移动两步。
  2. 初始化时,位置都在head
  3. 循环遍历链表,移动快慢指针,如果在移动的过程中,快指针反过来追上慢指针,就说明该链表为环形链表。否则快指针到达链表尾部,该链表不为环形链表。

动画:
1703475479379

3. 代码

/*** 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) {ListNode fast = head;ListNode slow = head;while (fast != null && fast.next != null) {fast = fast.next.next;slow = slow.next;if (fast == slow) {return true;}}return false;}
}

运行结果:

image-20231225105525012

世界上有三种k,梅花k,方片k,还有任何人不关注我我都会难过的ok

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android O 获取APK文件权限 Demo案例

1. 通过 aapt 工具查看 APK权限 C:\Users\zh>adb pull /system/priv-app/Settings . /system/priv-app/Settings/: 3 files pulled. 10.8 MB/s (48840608 bytes in 4.325s)C:\Users\zh>aapt d permissions C:\Users\zh\Settings\Settings.apk package: com.android.sett…

VBoxManage命令更详尽版

原文链接&#xff1a;http://418684644-qq-com.iteye.com/blog/1451000 ------------------------------------- VBoxManage命令详解&#xff08;一&#xff09; 本人对vboxmange命令按我个人的理解作了解释&#xff0c;由于本人水平有限难免有错误的地方&#xff0c;希望大…

linux make命令实现,Linux make命令主要参数详解

-C dir或者 --directoryDIR在读取makefile文件前&#xff0c;先切换到“dir”目录下&#xff0c;即把dir作为当前目录。如果存在多个-C选项&#xff0c;make的最终当前目录是第一个目录的相对路径&#xff0c;如“make –C /home/leowang –C document”&#xff0c;等价于“ma…

行人属性数据集pa100k_基于InceptionV3的多数据集联合训练的行人外观属性识别方法与流程...

本发明涉及模式识别技术、智能监控技术等领域&#xff0c;具体的说&#xff0c;是基于Inception V3的多数据集联合训练的行人外观属性识别方法。背景技术&#xff1a;近年来&#xff0c;视频监控系统已经被广泛应用于安防领域。安防人员通过合理的摄像头布局&#xff0c;实现对…

VBoxManage获取虚拟机IP地址

在宿主机Linux上安装VirtualBox&#xff0c;然后VirtualBox上安装linux虚拟机&#xff0c;在Virtualbox非界面启动虚拟机时&#xff0c;ip地址无法查看。怎么办&#xff1f; 使用命令&#xff1a; VBoxManage guestproperty enumerate 虚拟机名 | grep "Net.*V4.*IP"…

springboot系列(十)springboot整合shiro实现登录认证

关于shiro的概念和知识本篇不做详细介绍&#xff0c;但是shiro的概念还是需要做做功课的要不无法理解它的运作原理就无法理解使用shiro&#xff1b; 本篇主要讲解如何使用shiro实现登录认证&#xff0c;下篇讲解使用shiro实现权限控制 要实现shiro和springboot的整合需要以下几…

recyclerview item动画_这可能是你见过的迄今为止最简单的RecyclerView Item加载动画...

如何实现RecyclerView Item动画&#xff1f; 这个问题想必有很多人都会讲&#xff0c;我可以用ItemAnimator实现啊&#xff0c;这是RecyclerView官方定义的接口&#xff0c;专门扩展Item动画的&#xff0c;那我为什么要寻求另外一种方法实现呢&#xff1f;因为最近反思了一个问…

群晖编译LCD4Linux,LCD4LINUX配置文件一些参数使用解释。

#LCD显示配置Display dpf {Driver DPF #LCD驱动类型Port usb0 #连接端口Font 6x8 #字体大小Foreground ffffff #字体…

VBoxManage: error: Nonexistent host networking interface, name 'vboxnet0' (VERR_INTERNAL_ERROR)

错误&#xff1a; VBoxManage: error: Nonexistent host networking interface, name vboxnet0 (VERR_INTERNAL_ERROR) 原因&#xff1a; 原来配置的网卡发生了变更&#xff0c;找不到了&#xff0c;启动失败。 解决方法&#xff1a; 第一步&#xff0c;命令&#xff1a; V…

捷信达温泉管理软件员工卡SQL查询

捷信达温泉管理软件员工卡SQL查询 select * from snkey where v_name2 like %员工% 网名&#xff1a;浩秦; 邮箱&#xff1a;root#landv.pw; 只要我能控制一個國家的貨幣發行&#xff0c;我不在乎誰制定法律。金錢一旦作響&#xff0c;壞話隨之戛然而止。

Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?

Linux 的软件安装目录是也是有讲究的&#xff0c;理解这一点&#xff0c;在对系统管理是有益的 /usr&#xff1a;系统级的目录&#xff0c;可以理解为C:/Windows/&#xff0c;/usr/lib理解为C:/Windows/System32。 /usr/local&#xff1a;用户级的程序目录&#xff0c;可以理解…

winpe装双系统linux_使用syslinux在u盘安装pubbylinux和winpe双系统

使用syslinux在u盘安装pubbylinux和winpe双系统1,在u盘里安装winpe,请参见"比较简单的制作U盘winpe启动盘方法"比较简单的制作U盘winpe启动盘方法 收藏1,下载一个深度winpev3.iso2,用winrar或ultraISO解压深度winpev3.iso3,进入解压出来的文件夹下&#xff0c;找到se…

esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网

乐鑫 AT 固件初体验初步体验 AT 指令下 TCP 数传&#xff0c;为了验证 AT 命令解析器。前往乐鑫官网 下载最新版本 AT 固件和 AT 指令集手册。硬件准备本文使用乐鑫的 ESP-WROOM-32(ESP-WROOM-32 是 ESP32-WROOM-32 的曾用名)模块&#xff0c;4MB Flash&#xff0c;无 PSRAM。E…

主机ping不通Virtualbox里的虚拟机

在redhat上安装了VirtualBox&#xff0c;虚拟了三台Linux机器。 宿主机网卡更换过了。三台虚拟机无法启动了&#xff0c;搭建虚拟机的运维离职了。 VirtualBox的图形界面坏了&#xff0c;启动不了。只能用命令行&#xff0c;今天时间就花在命令行上了。 第一个问题是&#xf…

python后端开发靠谱吗_【后端开发】python有这么强大吗

因为Python是一种代表简单主义思想的语言。除此之外&#xff0c;Python所拥有的标准库更是金融、营销类人群选择它的理由。Python 易于学习可靠且高效(推荐学习&#xff1a;Python视频教程)好吧&#xff0c;相较于其它许多你可以拿来用的编程语言而言&#xff0c;它“更容易一些…

linux 卸载 openldap,Linux下安装openldap

Ubuntu apt-getinstall安装参考&#xff1a;http://dongwang.wordpress.com/category/uncategorized/普通linux安装,以XXX用户身份安装&#xff1a;1、安装BerkeleyDB 4.7.25&#xff1a;伯克利大学嵌入式数据库解决方案,openldap拿它作为存储方案。http://download.oracle.com…

Git之原有基础开发新功能

场景描述 当一个项目已经上线&#xff0c;同时又在原有基础上新增功能模块&#xff0c;于是乎就要在原有代码的基础上进行开发&#xff0c;在新增模块功能的开发的过程中&#xff0c;项目发现了一个紧急Bug&#xff0c;需要修复。操作流程如下&#xff1a; -------------------…

pantum打印机驱动安装m6506_奔图Pantum M6506NW 驱动

这是奔图Pantum M6506NW 驱动&#xff0c;是M6506NW奔图打印机驱动&#xff0c;此设备内置WIFI热点&#xff0c;安装驱动可以帮助用户解决打印机连接和工作中出现的问题&#xff0c;非常方便&#xff0c;需要的朋友快来本站下载吧&#xff01;驱动介绍奔图M6506NW一体机驱动专为…

linux kvm查看线程状态,kvm线程-005-线程状态-THREAD_JUST_BORN

在kvm内部定义了线程状态,如下:enum {THREAD_JUST_BORN 1, /* 还没有启动*/THREAD_ACTIVE 2, /* 当前正在运行,或者在等待运行的队列中*/THREAD_SUSPENDED 4, /* 等待monitor或者alarm */THREAD_DEAD 8, /* 线程退出 */THREAD_MONITOR_WAIT 16, // 等待锁THREAD_CONVAR_WA…

详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

原文链接&#xff1a;http://www.jb51.net/article/98575.htm -------------------------------------------------- 本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况&#xff0c;请首先确认虚拟机防火墙已关闭。 一、NAT模式 特点&#xff1a; 1、如果主机可以上网…