当前位置: 首页 > news >正文

LeetCode100之环形链表(141)--Java

1.问题描述

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

        示例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 或者链表中的一个 有效索引 

        难度等级

               简单

        题目链接

                环形链表

2.解题思路

        这道环形链表的问题相当容易解决,有点像我们小学时候的追及问题。我们定义两个快慢指针来模拟两个人相互追及。

        //快指针ListNode fast = head;//慢指针ListNode slow = head;

        如果链表真的是环形链表的话,它就会形成一个圈,那么我们的快慢指针相当于两个人从同一个入口进入一个闭环的操场在跑步。快的那个人只要时间足够,就可以比慢的那个人多跑一圈而相遇。

        我们假设快指针的步频为2,慢指针步频为1,如果快指针能走到尽头,遇到null,说明不是环形链表,如果与慢指针相遇,说明是环形链表。

        //遍历while(fast != null && fast.next != null){//慢指针一次走一步slow = slow.next;//快指针一次走两步fast = fast.next.next;if(slow == fast){return true;}}return false;

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){//慢指针一次走一步slow = slow.next;//快指针一次走两步fast = fast.next.next;if(slow == fast){return true;}}return false;}
}

4.总结

        这道环形链表的题,我们当成小学的追及相遇问题就可以轻松解决了。祝大家刷题愉快~

相关文章:

LeetCode100之环形链表(141)--Java

1.问题描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环 示例1 输入&#xff1a;head [3,2,0,-4], pos 1 输出&#xff1a;true 解释&#xff1a;链表中有一个环&#xff0c;其尾部连接到第二个节点 示例2 输入&#xff1a;head [1,2], pos 0 输出&#xf…...

【ict基础软件赛道】真题-50%openEuler

以下哪个命令可用于查看当前shell的后台任务在openeuler中哪个符号用于创建后台执行进程在openeuler中使用哪个命令查看软件包的详细信息在openeuler中如果想要查看本机的主机名可以使用下面哪个命令在openeuler中使用的包管理器是在openeuler系统中要配置防火墙以允许ssh连接应…...

<AI 学习> 下载 Stable Diffusions via Windows OS

注意&#xff1a; 不能使用 网络路径 不再支持 HTTPS 登录&#xff0c;需要 Token 1. 获得合法的授权 Stability AI License — Stability AI 上面的链接打开&#xff0c;去申请 许可 2. 拥有 HuggingFace 账号 注册&#xff1a;https://huggingface.co/ 3. 配置 Tok…...

计算机图形学在游戏开发中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 计算机图形学在游戏开发中的应用 计算机图形学在游戏开发中的应用 计算机图形学在游戏开发中的应用 引言 计算机图形学的基本概念…...

【CubeMX-HAL库】STM32H743II——SDRAM配置所遇问题

推荐的博客和视频&#xff1a; 1、【CubeMX-HAL库】STM32H743—FMC配置SDRAM_stm32h743 sdram 速度-CSDN博客 2、【【STM32CubeMX教程】STM32全外设原理、配置和常用HAL、LL库API使用详解】 3、在百度网盘里有STM32H743的例程&#xff1a;【通过网盘分享的文件&#xff1a;S…...

mac上使用docker搭建gitlab

在 Mac 上搭建 GitLab 可以使用 Docker 来简化安装过程 一、安装详细步骤 1. 安装 Docker 如果你尚未安装 Docker&#xff0c;可以通过以下步骤安装&#xff1a; 下载并安装 Docker Desktop for Mac.安装完成后&#xff0c;启动 Docker Desktop&#xff0c;确保 Docker 运行…...

二维数组操作

代码结构 main.c #include <stdio.h> #include <stdlib.h>#define LEN 100int main() {//通过指针引用多维数组# if 1//定义多维数组int a[3][5] {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};int row sizeof(a) /sizeof(a[0]);int colum sizeof(a[0]) / sizeof(a[0…...

uniapp设置tabBar高斯模糊并设置tabBar高度占位

1、设置tabBar高斯模糊 2、设置tabBar高度占位 &#xff08;1&#xff09;需要先在App.vue中获取一下 uni.getSystemInfoSync().windowBottom; //返回值是tabBar的高度&#xff08;2&#xff09;在app.vue中定义一个全局样式 3、在需要的页面底部&#xff0c;加上一个view&…...

上市公司代理成本数据大全(第一类和第二类代理成本均有)1991-2023年

一、计算方式&#xff1a; &#xff08;1&#xff09; 第一类代理成本 AC1:经营费用率&#xff0c;参考顶刊《管理世界》李文贵和余明桂(2015)老师的研究构建代理成本 AC2:管理费用率&#xff0c;参考C刊《经济管理》彭雅哲和汪昌云(2021) 老师的研究构建代理成本 AC3:资产周转…...

CA-Markov模型概述及其MATLAB实现

CA-Markov模型概述及其MATLAB实现 1 Markov模型2 CA-Markov模型2.1 元胞自动机(Cellular Aumatomata, 简称CA)2.1.1 构成2.2 准确度评估(Accuracy assessment)2.2.1 Kappa coefficient参考1.参考文献2.其它参考资料1 Markov模型 Markov模型是一种数学模型,用于描述系统在不…...

《生成式 AI》课程 第3講 CODE TASK执行文章摘要的机器人

课程 《生成式 AI》课程 第3講&#xff1a;訓練不了人工智慧嗎&#xff1f;你可以訓練你自己-CSDN博客 任务1:总结 1.我们希望你创建一个可以执行文章摘要的机器人。 2.设计一个提示符&#xff0c;使语言模型能够对文章进行总结。 model: gpt-4o-mini,#gpt-3.5-turbo, import…...

HCIP-HarmonyOS Application Developer 习题(二十二)

1、用户将手机导航迁移至智能手表之后&#xff0c;智能手表如果需要获取手机传过来的数据&#xff0c;从下列哪个方法中获取? A、onCompleteContinuation() B、onStartContinuation() C、onRestoreData() D、onSaveData() 答案&#xff1a;C 分析&#xff1a;FA发起迁移后&am…...

c++原型模式(Prototype Pattern)

原型模式&#xff08;Prototype Pattern&#xff09; 原型模式是一种创建型设计模式&#xff0c;它允许你通过复制现有对象来创建新的对象&#xff0c;而不是通过类实例化来创建对象。这种模式在开发时需要大量类似对象的情况下非常有用。原型模式的核心是一个具有克隆方法的接…...

联通大数据面试题及参考答案

Flink 是怎么使用的? Flink 是一个分布式流批一体的开源平台,以下是其一般使用步骤及相关要点: 环境搭建 首先要根据需求选择合适的部署模式,比如本地模式用于开发测试,集群模式(如 Standalone、YARN、Kubernetes 等)用于生产环境。安装相应的 JDK 版本(Flink 基于 Ja…...

MySQL数据库:SQL语言入门 【3】(学习笔记)

目录 5&#xff0c;TCL —— 事务控制语言&#xff08;Transaction Control Language&#xff09; &#xff08;1&#xff09;事务的概念作用 &#xff08;2&#xff09;事务的特性 【1】原子性 【2】一致性 【3】隔离性 【4】持久性 &#xff08;3&#xff09;并发事务带来…...

uniapp 实现tabbar分类导航及滚动联动效果

思路&#xff1a;使用两个scroll-view&#xff0c;tabbar分类导航使用scrollleft移动&#xff0c;内容联动使用页面滚动onPageScroll监听滚动高度 效果图 <template><view class"content" ><view :class"[isSticky ? tab-sticky: ]">…...

华为数字化转型的本质为何是管理变革

随着全球经济的加速数字化转型&#xff0c;企业纷纷进入了数字化时代的大潮。华为作为数字化转型的领军者&#xff0c;已经成功实践了从传统企业向数字化企业的蜕变。对于企业而言&#xff0c;数字化转型不仅仅是新技术的应用&#xff0c;更是一场管理变革。在这场变革的背后&a…...

【数据库】深入解析慢 SQL 的识别与优化策略

文章目录 什么是慢 SQL&#xff1f;慢 SQL 的危害如何检测分析慢 SQL使用 MySQL 慢查询日志利用 EXPLAIN 分析执行计划通过 Profiling 获取详细执行信息借助慢 SQL 收集分析平台 实际案例解析&#xff1a;600秒的慢 SQL 优化之旅问题描述初步分析优化步骤1. 优化 SQL 语句结构2…...

Linux从入门到精通

远程连接linux操作系统 Linux的图形化界面并不稳定&#xff0c;因此往往使用命令行去接触Linux操作系统 远程连接到Linux操作系统需要借助一个叫做finalshell的软件&#xff0c;官方地址如下&#xff1a; finalshell官方下载 在linux的terminal终端中输入指令 ifconfig就可以…...

代码随想录算法训练营第四十四天|Day44 动态规划

1143.最长公共子序列 视频讲解&#xff1a;https://www.bilibili.com/video/BV1ye4y1L7CQ https://programmercarl.com/1143.%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E5%BA%8F%E5%88%97.html 思路 #define max(a, b) ((a) > (b) ? (a) : (b)) int longestCommonSu…...

OCLP-Mod:终极指南 - 让老旧Mac免费升级到最新macOS

OCLP-Mod&#xff1a;终极指南 - 让老旧Mac免费升级到最新macOS 【免费下载链接】OCLP-Mod A mod version for OCLP,with more interesting features. 项目地址: https://gitcode.com/gh_mirrors/oc/OCLP-Mod 你是否拥有一台被苹果官方"抛弃"的老旧Mac&#x…...

Mermaid:文本驱动的可视化引擎深度指南

Mermaid&#xff1a;文本驱动的可视化引擎深度指南 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器&#xff0c;支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图的开发者。 …...

如何用QuickRecorder解决macOS录屏痛点:高效专业的从入门到精通实践指南

如何用QuickRecorder解决macOS录屏痛点&#xff1a;高效专业的从入门到精通实践指南 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitco…...

Otter模型对比学习:提升跨模态表示质量的技术方案

Otter模型对比学习&#xff1a;提升跨模态表示质量的技术方案 【免费下载链接】Otter &#x1f9a6; Otter, a multi-modal model based on OpenFlamingo (open-sourced version of DeepMinds Flamingo), trained on MIMIC-IT and showcasing improved instruction-following a…...

3分钟掌握Chrome密码提取:ChromePass让你不再遗忘任何登录凭据

3分钟掌握Chrome密码提取&#xff1a;ChromePass让你不再遗忘任何登录凭据 【免费下载链接】chromepass Get all passwords stored by Chrome on WINDOWS. 项目地址: https://gitcode.com/gh_mirrors/chr/chromepass 你是否曾经在登录网站时&#xff0c;明明记得在Chrom…...

5倍效率提升:GIMP批量图像处理插件BIMP全攻略

5倍效率提升&#xff1a;GIMP批量图像处理插件BIMP全攻略 【免费下载链接】gimp-plugin-bimp 项目地址: https://gitcode.com/gh_mirrors/gi/gimp-plugin-bimp 在数字内容创作领域&#xff0c;批量图像处理是提升效率的关键环节。GIMP作为免费开源的图像编辑软件&#…...

从0到1:Java+AI入门实战,看完直接上手项目

文章目录前言环境准备&#xff1a;别急着装Python&#xff0c;先把JDK升到21第一滴血&#xff1a;让Java程序说出"人话"进阶玩法&#xff1a;给AI装上"记忆"和"工具"让AI记住你们聊过啥让AI能查数据库、调接口实战项目&#xff1a;搭建私有知识库…...

手把手教你用STM32F405和SD卡,在阿里云物联网平台上实现OTA升级(MQTT协议详解)

STM32F405实战&#xff1a;基于SD卡与阿里云物联网平台的OTA升级全流程解析 当嵌入式设备部署在野外或工业现场时&#xff0c;固件升级往往成为工程师的噩梦。传统方式需要技术人员携带烧录器奔赴现场&#xff0c;不仅效率低下&#xff0c;在设备数量庞大或分布广泛时更是不切实…...

OpenClaw备份策略:GLM-4.7-Flash模型与技能容灾方案

OpenClaw备份策略&#xff1a;GLM-4.7-Flash模型与技能容灾方案 1. 为什么需要备份OpenClaw环境 去年冬天的一个深夜&#xff0c;我的MacBook突然遭遇硬盘故障。当时OpenClaw正在执行一个长达3小时的自动化数据处理任务&#xff0c;所有中间状态和配置瞬间消失。这次事故让我…...

GitHub下载加速终极指南:告别龟速,3分钟让下载速度飙升300%

GitHub下载加速终极指南&#xff1a;告别龟速&#xff0c;3分钟让下载速度飙升300% 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub …...