LeetCode150道面试经典题-- 环形链表(简单)
1.题目
给你一个链表的头节点 head ,判断链表中是否有环。
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。
如果链表中存在环 ,则返回 true 。 否则,返回 false 。
2.示例
示例 1:

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

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

输入:head = [1], pos = -1
输出:false
解释:链表中没有环
提示:链表中的结构体
/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val = x;* next = null;* }* }*/
3.思路
快慢指针:
像这种循环题目或者是追逐的题目就可以使用快慢指针算法,由于是循环的,那么除非快指针先找到null的情况下,快慢指针必定相遇,并且两者的相遇也就意味着链表的循环,因为一般情况下快指针是走的快的,慢指针走的慢,而两者速度明显不同的情况下却相遇了,那就说明链表是循环的
哈希集合:
由于循环最后就是查看是否有重合后的地址,那么只需要在往下遍历的时候将链表节点地址保存起来,在下一次遍历的时候如果下一个节点地址已经存在与哈希表中时候,那么也就意味着链表是循环的
4.代码
LeetCode代码
快慢指针:
public class Solution {public boolean hasCycle(ListNode head) {if (head == null || head.next == null) {return false; // 链表为空或只有一个节点,必然无环}ListNode slowIndex = head;ListNode fastIndex = head;while (fastIndex != null && fastIndex.next != null) {slowIndex = slowIndex.next; // 慢指针每次移动一个节点fastIndex = fastIndex.next.next; // 快指针每次移动两个节点if (slowIndex == fastIndex) {return true; // 快慢指针相遇,存在环}}return false; // 快指针到达链表尾部,无环}
}

时间复杂度O(n),空间复杂度O(1)
哈希集合:
public class Solution {public boolean hasCycle(ListNode head) {Set<ListNode> set = new HashSet<>();if(head==null || head.next==null){return false;}while(head.next!=null){if(set.contains(head)){return true;}else{set.add(head);head = head.next;}}return false;}
}
时间复杂度O(n),空间复杂度O(n)

会了?试试挑战下一题!♪(^∀^●)ノシ (●´∀`)♪
LeetCode150道面试经典题-- 合并两个有序链表(简单)_Alphamilk的博客-CSDN博客
相关文章:
LeetCode150道面试经典题-- 环形链表(简单)
1.题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…...
音视频学习-音视频基础
文章目录 一、 音视频录制原理二、音视频播放原理三、图像基础概念1.像素2.分辨率3.位深4.帧率5.码率6.Stride跨距 四、RGB、YUV1.RGB2.YUV1. 4:4:4格式2. 4:2:2格式3. 4:2:0格式4. 4:2:0数据格式对比 3.RGB和YUV的转换4.YUV Stride对齐问题 五、视频的主要概念1.基本概念2.I P…...
asp.net core webapi如何执行周期性任务
使用Api执行周期性任务 第一种,无图形化界面1.新建类,继承IJob,在实现的方法种书写需要周期性执行的事件。2.编写方法类,定义事件执行方式3.在启动方法中,进行设置,.net 6中在program.cs的Main方法中&#…...
快速搭建图书商城小程序的简易流程与优势
很多人喜欢阅读电子书,又有很多人依旧喜欢实体书,而实体书店拥有一个图书商城小程序便成为了满足用户需求的理想选择。如果您也想进入这一充满潜力的领域,但担心开发难度和复杂流程,别担心!您能做到快速搭建一个专业、…...
C++ template 循环
在元编程循环中,我们不需要用while,for来循环,一般情况下都要用递归,例如: #include <iostream> using namespace std; template <int Head, int...Data> constexpr static int num Head num<Data..…...
时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)
时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 MATLAB实现基于…...
mysql 数据备份和恢复
操作系统:22.04.1-Ubuntu mysql 版本:8.033 binlog 介绍 binlog 是mysql 二进制日志 binary log的简称,可以简单理解为数据的修改记录。 需要开启binlog,才会产生文件,mysql 8.0 默认开启,开启后可以在 /var/lib/mysql ÿ…...
Lucene教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引…...
物联网工程应用实训室建设方案
一、物联网工程应用系统概述 1.1物联网工程定义 物联网工程(Internet of Things Engineering)是一种以信息技术(IT)来改善实体世界中人们生活方式的新兴学科,它利用互联网技术为我们的日常生活活动提供服务和增益&am…...
【AI绘画】3分钟学会ikun幻术图
目录 前言一、效果展示二、准备工作三、操作步骤3.1平台创建实例3.2 启动SD 四、安装QR Code Monster 模型五、成图 前言 大家热爱的ikun幻术在今天的分享中将呈现。在本文中,我们将揭示一个备受欢迎的图像幻术技术,让您感受到令人惊叹的视觉创造力。 …...
Spring 框架入门介绍及IoC的三种注入方式
目录 一、Spring 简介 1. 简介 2. spring 的核心模块 ⭐ 二、IoC 的概念 2.1 IoC 详解 2.2 IoC的好处 2.3 谈谈你对IoC的理解 三、IoC的三种注入方式 3.1 构造方法注入 3.2 setter方法注入 3.3 接口注入(自动分配) 3.4 spring上下文与tomcat整…...
Centos升级openssl
依赖包 安装编译 OpenSSL 所需的包,包括 gcc、make、perl 和 zlib-devel。可以通过运行以下命令完成: yum install -y gcc make perl zlib-devel安装包下载 下载 OpenSSL 1.1.1 的源码包,可以从 OpenSSL 官网下载(https://www.op…...
第4章:决策树
停止 当前分支样本均为同一类时,变成该类的叶子节点。当前分支类型不同,但是已经没有可以用来分裂的属性时,变成类别样本更多的那个类别的叶子节点。当前分支为空时,变成父节点类别最多的类的叶子节点。 ID3 C4.5 Cart 过拟合 缺…...
小米平板6Max14即将发布:自研G1 电池管理芯片,支持33W反向快充
明天晚上7点(8 月 14 日),雷军将进行年度演讲,重点探讨“成长”主题。与此同时,小米将推出一系列全新产品,其中包括备受瞩目的小米MIX Fold 3折叠屏手机和小米平板6 Max 14。近期,小米官方一直在…...
Elasticsearch复合查询之Boosting Query
前言 ES 里面有 5 种复合查询,分别是: Boolean QueryBoosting QueryConstant Score QueryDisjunction Max QueryFunction Score Query Boolean Query在之前已经介绍过了,今天来看一下 Boosting Query 用法,其实也非常简单&…...
Clickhouse基于文件复制写入
背景 目前clickhouse社区对于数据的写入主要基于文件本地表、分布式表方式为主,但缺乏大批量快速写入场景下的数据写入方式,本文提供了一种基于clickhouse local 客户端工具分布式处理hdfs数据表文件,并将clickhouse以文件复制的方式完成写入…...
梅赛德斯-奔驰将成为首家集成ChatGPT的汽车制造商
ChatGPT的受欢迎程度毋庸置疑。OpenAI这个基于人工智能的工具,每天能够吸引无数用户使用,已成为当下很受欢迎的技术热点。因此,有许多公司都在想方设法利用ChatGPT来提高产品吸引力,卖点以及性能。在汽车领域,梅赛德斯…...
QT-播放原始PCM音频流
QT multimedia audioplay.h /************************************************************************* 接口描述:原始音频播放类 拟制: 接口版本:V1.0 时间:20220922 说明: ********************************…...
【杂谈】聊聊我是如何从Java转入Web3的
我先说说我基本的一个情况吧: 我是之前是一位从业了传统web2行业三年的Java开发,在2018年尾才开始去关注区块链的,之前虽然也有混迹在币圈,但是没怎么关注到币圈的内在运行逻辑。 后面因为当时元宇宙和Web3的概念特别火&a…...
ArrayList
目录 1.ArrayList简介 2.ArrayList的构造 2.1ArrayList() 2.2ArrayList(Collection c) 2.3ArrayList(int initialCapacity) 3.ArrayList常见操作 4.ArrayList的遍历的遍历 1.ArrayList简介 在集合框架中, ArrayList 是一个普通的类,实现了 List…...
PotPlayer智能字幕翻译:用百度翻译API打破语言障碍的观影体验
PotPlayer智能字幕翻译:用百度翻译API打破语言障碍的观影体验 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu 你是否曾在观…...
ClaudeCode安装与使用全攻略
一、安装 Claude Code 1. 安装 Claude Code 1.1 安装 Git 根据需求选择对应的安装方式: https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git windows 版本下载地址: https://git-scm.com/install/windows 1.2 安装 node…...
Taotoken Token Plan套餐如何帮助初创团队控制AI调用成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken Token Plan套餐如何帮助初创团队控制AI调用成本 对于预算有限的初创团队和独立开发者而言,将大模型能力集成到…...
数据库云服务与Serverless
数据库云服务与Serverless 1. 技术分析 1.1 云数据库概述 云数据库是数据库服务的未来方向: 云数据库类型IaaS: 虚拟机部署PaaS: 托管服务Serverless: 无服务器云服务优势:弹性伸缩自动备份高可用性1.2 Serverless数据库 Serverless特点按需付费: 按使用量计费自动扩…...
工业级Linux超长期支持方案:RZ/G平台与CIP SLTS内核实战解析
1. 项目概述:当工业设备遇上超长待机的Linux在工业自动化、能源控制、轨道交通这些领域摸爬滚打过的嵌入式开发者,心里都清楚一个“老大难”问题:软件的生命周期,尤其是操作系统的维护周期,远跟不上硬件的服役年限。一…...
RAMba架构:RNN与稀疏注意力融合优化长文本处理
1. RAMba架构:RNN与稀疏注意力的创新融合在自然语言处理领域,处理长文本序列一直是个棘手的问题。传统Transformer架构虽然性能强大,但其注意力机制的计算复杂度与序列长度呈平方关系增长,这严重限制了模型处理长文本的能力。RAMb…...
显卡选购指南:从显存、位宽到AI创作,2023年如何避开参数陷阱?
1. 显卡市场新动态:价格、定位与玩家选择的博弈最近显卡圈子里有点热闹,但这份热闹背后,更多是玩家们的困惑和观望。NVIDIA悄无声息地给RTX 4060 Ti加了个“大显存”的版本,价格直接上探到3899元,比8GB版贵出700块。这…...
别再死记硬背base64了!深入浅出聊聊CTF中那些‘魔改’编码的识别与对抗思路
CTF逆向工程中的编码魔法:从Base64变异到通用对抗策略 在网络安全竞赛的战场上,编码就像是一把双刃剑——它既是保护信息的盾牌,也是隐藏线索的迷雾。对于CTF逆向选手而言,面对各种"魔改"编码就像是在解谜题时突然发现规…...
影像技术实战12:图片清晰度评估不准?Laplacian、Tenengrad、噪声干扰与模糊图片批量筛选方案
影像技术实战12:图片清晰度评估不准?Laplacian、Tenengrad、噪声干扰与模糊图片批量筛选方案 一、问题场景:数据集里混入模糊图,模型效果怎么调都上不去 在图像识别、OCR、人脸识别、商品图审核、视频抽帧数据清洗中,经…...
如何高效使用Display Driver Uninstaller:显卡驱动清理终极指南
如何高效使用Display Driver Uninstaller:显卡驱动清理终极指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uni…...
