刷题篇--数据结构--链表

news2025/1/8 5:12:09

一.环形链表Ⅰ

. - 力扣(LeetCode)

这道题可以利用快慢指针的方法来解决,即定义一个快指针f他的速度是一次走两步,慢指针s他的速度是一次走一步,这时我们假设链表有环,环的入口点为N,当两个指针一起向前走f会比s先进环内,当s走到环的如入口点N时,如下方第二个图,此时如果链表有环则两个指针都在环内,这时我们可以在做一个假设🧐,因为f的速度比s块,如果两个指针相遇了,那么这个链表就是有环的,如果f最后指向null了,那么说明,这个链表就是没有环的。

这样一看是不是感觉很简单🥰

接下来来实现我们的想法,首先定义两个节点f,s等于head,然后让f每次走两步,s走一步,期间判断f的下一个或下下一个是否为null(因为f一次走两步如果链表为偶数个,最后会只剩下一个节点),如果两个节点相遇则有环,否则无环。

代码如下(可以试着自己先敲一下)😊:

java

c

接下来我们看看一个进阶版的

二.环形链表Ⅱ

. - 力扣(LeetCode)

这道题是上一道的进阶版不过,原理相似都是利用快慢指针的方法解决😉,首先要判断链表有没有环,之后我们可以想一想如果如果两个节点相遇,那么肯定是f节点追上s节点(在入口相遇也算)😊,既然这样,f节点至少是要走一圈(因为想要和s相遇必然会再次经过入口点,假设一圈长度为C),再加上此时f离入口点的距离C-Y才行,又因为f的速度是s的二倍所以走的路程也是s的二倍🐱

就可以得到一下表达式✌️:

f=2s,f:X+C+(C-Y),s:X+(C-Y)

整理一下:

  • X+C+(C-Y)=2(X+C-Y)
  • X+2C-Y=2X+2C-2Y;
  • 0=X-Y;
  • X=Y;

是不是感觉很神奇😮,既然我们知道了X和Y一样那么,我们就可以让f节点再次等于head然后让两个节点以相同速度(一次走一步),向前走当两节点再次相遇时就是入口点🥰!!!是不是感觉更神奇了!✌️

不过你可能会有一个疑问🧐,如果环很小f在环内转了很多圈,这个等式是否还成立?🧐往下看:

f=2s,f=X+nC+(C-Y),s=X+C-Y

整理一下:

  • X+nC+C-Y=2X+2C-2Y;
  • (n-1)C = X-Y;
  • X=Y+(n-1)C;

这时X好像不等于Y了呢🤔?继续往下看,我们依然让f=head让两个节点相前以相同速度走当,x走了(n-1)C步时,此时X离入口点的距离为Y,而s还在原地离入口点的距离也为Y,最后两节点依然会在入口点相遇😋!!

看吧都一样,以上就是这题的核心思路

代码如下(可以试着自己先敲一下)😊:

java

c

🐱以上是小编对这些题的理解如果有不懂的或者有哪里讲的不对的欢迎在下方评论😋也请多多支持一下小编!!🥰🥰🥰

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

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

相关文章

27寸2K显示器 - HKC G27H2

HKC G27H2是一款面向电竞市场的高性能显示器,以其2K分辨率和180Hz的刷新率作为主要卖点,旨在为玩家提供流畅而清晰的视觉体验。配备HDR 400技术和95% DCI-P3色域覆盖,这款显示器还支持升降旋转支架,为用户提供了高度的人体工程学适…

同旺科技 FLUKE ADPT 隔离版发布 ---- 说明书

所需设备: 1、FLUKE ADPT 隔离版 内附链接; 应用于:福禄克Fluke 12E / 15BMax / 17B Max / 101 / 106 / 107 应用于:福禄克Fluke 15B / 17B / 18B

酷开科技大屏营销,多元需求唤醒“客厅经济”

随着科技的发展和消费者习惯的变化,OTT大屏营销正逐渐成为客厅经济的新风向。OTT不仅改变了人们获取信息和娱乐的方式,也为品牌营销提供了新的机遇和挑战,OTT大屏营销已经成为客厅经济的重要组成部分。酷开科技通过其自主研发的智能电视操作系…

戴尔(Dell)服务器运行状况监控

戴尔(Dell)服务器因其加速的性能、增强的自动化和简化的管理而受到全球许多组织的青睐,许多组织将其业务关键应用程序和功能放在戴尔(Dell)服务器中,因此,有效的戴尔(Dell&#xff0…

Jeecg | 完成配置后,如何启动整个项目?

前端启动步骤: 1. 以管理员身份打开控制台,切换到前端项目目录。 2. 输入 pnpm install 3. 输入 pnpm dev 4. 等待前端成功运行。 可以看到此时前端已经成功启动。 后端启动步骤: 1. 启动 mysql 服务器。 管理员身份打开控制台&#…

基于51单片机的多功能万年历温度计—可显示农历

基于51单片机的万年历温度计 (仿真+程序+原理图+设计报告) 功能介绍 具体功能: 本设计基于STC89C52(与AT89S52、AT89C52通用,可任选)单片机以及DS1302时钟芯片、DS18B…

Spring6 对 集成MyBatis 开发运用(附有详细的操作步骤)

详细实现操作步骤 具体实现内容:我们运用 Spring6 和 MyBatis 实现一个转账操作(该转账操作,进行一个事务上的控制,运用 MyBatis 执行 SQL 语句)。 第一步:准备数据库表 使用t_act表(账户表) 连接数据库的…

Scrapy框架简单介绍及Scrapy项目编写详细步骤

引言 Scrapy是一个用Python编写的开源、功能强大的网络爬虫框架,专为网页抓取和数据提取设计。它允许开发者高效地从网站上抓取所需的数据,并通过一系列可扩展和可配置的组件来处理这些数据。Scrapy框架的核心组成部分包括: Scrapy Engine&…

实在智能Agent保障已就位,助力商家从容应对618大促挑战

618购物狂欢节第一波“年中开门红”已开启,商家纷纷进入战斗状态,力求在这场消费盛宴中脱颖而出。面对消费者高涨的购买热情和激烈的市场竞争,如何在确保服务质量的同时,提升运营效率,成为每个商家必须面对的挑战。 为…

【已解决】C#设置Halcon显示区域Region的颜色

前言 在开发过程中,突然发现我需要显示的筛选区域的颜色是白色的,如下图示,这对我们来说不明显会导致我的二值化筛选的时候存在误差,因此我们需要更换成红色显示这样的话就可以更加的明显,二值化筛选更加的准确。 解…

云WAF与传统WAF:网络安全的双重防线

在网络安全领域,Web应用防火墙(WAF)是守护企业网络安全的重要盾牌。随着云计算技术的迅猛发展,云WAF作为一种新型的安全服务模式,正逐渐成为企业网络安全防护的新宠。本文将深入探讨云WAF与传统WAF的区别,分…

两篇文章讲透数据结构之堆(一)!

目录 1.堆的概念 2.堆的实现方式 3.堆的功能 4.堆的声明 5.堆的实现 5.1堆的初始化 5.2堆的插入 5.2.1向上调整算法 5.2.2堆的插入 5.3堆的删除 5.3.1向下调整算法 5.3.2堆的删除 5.4获取堆顶元素 5.5获取堆的元素个数 5.6判断堆是否为空 5.7打印堆 5.8建堆 …

【C++初阶】vector

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

全局配置路径无法识别的解决——后端

在全局配置路径reggie.path的时候,无法正常启动SpringBoot项目 Value("${reggie.path}")private String basePath; 查看application.yml的配置情况: 发现path没有起作用,推测是格式问题,冒号后面空格后即可

计算机网络(1

网络初识 目录 网络初识一. 网络分类1. 局域网LAN(Local Area Network):2. 广域网WAN(Wide Area Network): 二. 组建网络的基础设备1. 路由器2. 交换机 三. 标识符 协议 (protocol)一. 协议分层1. 分层的好处2. OSI七层分层3. TCP/IP五层模型(或四层) 模型(1. 物理层(可不算)(2…

全栈式数据统计:SqlAlchemy怎样连接MsSql Server获取视图列表

1.源代码 #-----------获取数据库视图列表----------------------------- # -------密码含特殊字符使用 from urllib.parse import quote_plus as urlquotefrom sqlalchemy import create_engine, MetaData, inspect# 替换为你的数据库连接字符串 DRIVER "ODBC Driver 1…

Gin与OpenAPI(Swagger)的使用

一、背景 1、swagger与openapi Swagger: 一种用于描述RESTFUL API的规范,它提供了一种简单的来描述API的请求和相应参数、错误码、返回数据类型等信息,是开发者可以方便了解API使用方式。 官网: https://swagger.io/ OpenAPI : 始于 …

Excel透视表:快速计算数据分析指标的利器

文章目录 概述1.数据透视表基本操作1.1准备数据:1.2创建透视表:1.3设置透视表字段:1.4多级分类汇总和交叉汇总的差别1.5计算汇总数据:1.6透视表美化:1.7筛选和排序:1.8更新透视表: 2.数据透视-数…

经典单链表OJ题

目录 1、轮转数组 2、返回倒数第k个节点 3、判断链表的回文结构 4、两个链表,找出它们的第一个公共结点 5、随机链表的复制 6、判断链表中是否有环 7、返回链表开始入环的第一个节点 1、轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k…

Influence blocking maximization on networks: Models, methods and applications

abstract 由于各种社会和贸易网络的不断出现,网络影响力分析引起了研究者的极大兴趣。基于不同的影响力传播模型,人们提出了许多网络影响力最大化的新模型和方法。作为传统影响力最大化问题的延伸和扩展,影响力封锁最大化问题已成为研究热点&…