Leetcode-每日一题【876.链表的中间结点】

news2024/11/18 13:50:17

题目

给你单链表的头结点 head ,请你找出并返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。


示例 1:

输入:head = [1,2,3,4,5]
输出:[3,4,5]
解释:链表只有一个中间结点,值为 3

示例 2:

 

输入:head = [1,2,3,4,5,6]
输出:[4,5,6]
解释:该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。

提示

链表的结点数范围是 [1, 100]
1 <= Node.val <= 100

 

解题思路

前置知识

快慢指针

原理:

1.定义两个指针从,相同位置开始

2.这两个指针步长不一致,一快一慢,以此来制造一个差值,用来解决一些实际问题

3.一般情况下,快指针的移动步长为满指针的两倍

1.我们使用快慢指针来解决这个问题,首先我们设置一个快指针 fast 和一个慢指针 slow 

2.我们让这两个指针去遍历整个链表,快指针一次走两步,慢指针一次走一步,结束条件为

(fast != null && fast.next != null)

3.这时我们的慢指针指向的结点就是我们的中位数,我们直接 return slow

代码实现

class Solution {
    public ListNode middleNode(ListNode head) {
        if(head == null || head.next == null) {
            return head;
        }
        ListNode fast = head;
        ListNode slow = head;
        while(fast != null && fast.next != null){
            fast = fast.next.next;
            slow = slow.next;
        }
        return slow;
        

    }
}

测试结果

 

 

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

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

相关文章

云贝餐饮连锁独立版 v2.6.1+公众号+小程序端+抖音端端+全插件免授权安装使用教程

云贝餐饮连锁版这系统应该持续做好多年了比较完善&#xff0c;以前的版本都需要授权一直没使用&#xff0c;整体测试下感觉从体验上还有逻辑设计上都非常不错&#xff0c;首页、会员中心支持DIY装修&#xff0c;配送支持多种平台对接&#xff0c;基本上餐饮行业需要的功能都能满…

Plant, Cell Environment:DAP-seq技术在ZmEREB57调控OPDA合成提高玉米耐盐性研究中的应用

茉莉酸类化合物&#xff08;JAs&#xff09;是植物中普遍存在的一类植物激素&#xff0c;在非生物胁迫响应中发挥重要作用。12-氧-植物二烯酸&#xff08;OPDA&#xff09;可通过α-亚麻酸&#xff08;ALA&#xff09;代谢途径合成JA&#xff0c;是一种重要的JA前体分子。APETA…

DNSPod十问朱智:为什么商场越来越像美食中心?

本期嘉宾 朱智 赢商tech副总裁 朱智&#xff0c;赢商tech副总裁兼首席产品官。线下大数据服务的领军人物&#xff0c;福布斯中国“30under30”人物&#xff0c;拥有10余年线下商业大数据服务经验&#xff0c;致力于商业地产数智化升级领域&#xff0c;服务了包括新城集团、新…

【Linux系统编程】Linux权限理解 及 权限管理

文章目录 前言1. Linux权限的概念2. Linux权限管理2.1 文件类型2.2 Linux用户分类及切换用户分类普通用户—>rootroot—>普通用户普通用户之间的切换单条指令的提权 2.3 用户角色划分/文件访问者的分类&#xff08;人&#xff09;2.4 文件类型和访问权限&#xff08;事物…

windows环境部署nacos注意事项

1.nacos与 eureka部署方式有所不同&#xff0c;nacos需要到GitHub去下载&#xff0c;下载地址&#xff1a;https://github.com/alibaba/nacos&#xff0c;下载好后将文件放至项目中 2.需要将nacos用到的数据文件导入到数据库中 3.需要修改nacos的配置文件 注意&#xff1a;修改…

wampServer安装Redis 扩展

第一步&#xff1a;查看php版本信息 使用 phpinfo() 函数查看 PHP 的版本信息&#xff08;用于选择扩展包&#xff09; 版本信息&#xff1a;PHP版本为 8.0.26&#xff0c;编译器版本 Visual C 2019&#xff0c;CPU架构 x64 。 第二步&#xff1a;根据第一步信息的版本选择扩…

jpg图片马使用条件竞争的方法实现二次渲染绕过

文章目录 一、制作图片马二、上传图片马三、上传攻击四、访问攻击五、启动攻击 一、制作图片马 首先使用cmd制作jpg图片马 二、上传图片马 然后打开bp拦截上传该图片马 三、上传攻击 对拦截的结果发送到攻击模块 清除所有变量&#xff0c;payloads做如下设置 四、访问…

VBA之正则表达式(42)-- 快速提取名称

实例需求&#xff1a;A列为待处理数据&#xff0c;现需要从中提取商品名、通用名、胰岛素笔相关信息&#xff0c;保存到B列至D列&#xff0c;需要注意如下几点&#xff1a; 胰岛素笔&#xff08;E列&#xff09;数据只存在于每组产品的第一行记录中&#xff0c;例如第2行数据中…

redis配置和优化

关系数据库与非关系型数据库 关系型数据库&#xff1a; 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的…

[MySQL]1292 - Incorrect date value: ‘0000-00-00‘ for column ‘xxx‘ at row 1

第一步、修改mysql配置文件 sql_mode去掉NO_ZERO_DATE 注意&#xff1a;如果mysql配置文件内容没有sql_mode&#xff0c;需要手动加上 mysql配置文件示例&#xff1a; 第二步、重启MySQL

基于Python热门旅游景点数据分析系统设计与实现

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专…

SpringBoot 实现 elasticsearch 查询操作(RestHighLevelClient 的案例实战)

文章目录 1. 环境准备1. 查询全部2. 根据 name 查询 match 分词查询3. 根据 name 和 品牌查询 multiMatch 分词查询4. 根据 brand 查询 match 分词查询5. 按照价格 范围查询6. 精确查询7. boolQuery8. 分页9. 高亮查询9. 公共解析 上一节讲述了 SpringBoot 实现 elasticsearch …

Attention Is All You Need (NIPS 2017)

Attention Is All You Need - 注意力就是你所需要的&#xff08;NIPS 2017&#xff09; 摘要1. 引言2. 背景3. 模型架构3.1 编码器和解码器堆叠3.2 注意力3.2.1 缩放点积注意力3.2.2 多头注意力3.2.3 注意力在我们的模型中的应用 3.3 位置前馈网络3.4 嵌入和Softmax3.5 位置编码…

【⑧MySQL进阶】:子查询与HAVING/SELECT的完美结合

前言 ✨欢迎来到小K的MySQL专栏&#xff0c;本节将为大家带来MySQL子查询在HAVING/SELECT字句中使用、及相关子查询和WITH/EXISTS字句的讲解✨ 目录 前言一、在HAVING/SELECT字句中使用子查询二、相关子查询三、WITH/EXISTS、NOT EXISTS字句四、总结 一、在HAVING/SELECT字句中…

手机提醒打卡软件哪个好用 每日计划的打卡软件推荐

在人生的不同阶段&#xff0c;人们会有不同的目标&#xff0c;为了目标可以很好地实现&#xff0c;可以将其分散为多个不同的小计划&#xff0c;并坚持不断地打卡完成每项计划&#xff0c;助力自己最终完成目标。那手机提醒打卡软件哪个好用些&#xff0c;每日计划的打卡软件推…

针对中国用户?数万个正规网站被劫持

知名安全公司Acronis被黑客攻破&#xff0c;多达12GB的资料泄露。 而黑客给出的攻击理由令人啼笑皆非——在他们看来&#xff0c;这家公司虽然从事网络安全业务&#xff0c;但实际上技术如shit一样。 黑客觉得很无聊&#xff0c;就想羞辱一下对方&#xff0c;遂动手攻击了这家网…

软件设计模式与体系结构-设计模式-工厂模式

目录 0. 学习目标0.1 软件设计模式0.2 软件体系结构 软件设计模式0. 软件设计原则设计模式的分类 创建型软件设计模式一、工厂模式工厂方法与抽象工厂模式1.简单工厂方法模式&#xff08;开闭原则&#xff09;优缺点适用场景实例一&#xff1a;简单电视机工厂 2.工厂方法模式优…

人机融合是自由与决定的交互

人机融合是指人类与机器之间的紧密合作与互动。在这种融合中&#xff0c;人类使用机器的能力来增强自身的能力&#xff0c;而机器则依赖人类的指导和判断来发挥作用。这种融合可以带来许多好处和机会&#xff0c;但也伴随着一些挑战和风险。 首先&#xff0c;人机融合可以为人类…

Quiz 16_3-3: Databases | Python for Everybody 配套练习_解题记录

文章目录 Python for Everybody课程简介Quiz 16_3-3: Databases单选题&#xff08;1-10&#xff09;操作题Autograder: Many Students in Many Courses Python for Everybody 课程简介 Python for Everybody 零基础程序设计&#xff08;Python 入门&#xff09; This course a…

AI Is the New Power

这个题目纯粹是为了博眼球&#xff0c;因为吴恩达有个题目是AI Is the New Electricity。&#xff1a;&#xff09;但是我想AI确实是为我们这些企业信息化顾问顾问赋予了新的力量&#xff0c;在我们的职业生涯中开辟了新的可能性。 在几周前的文章中&#xff0c;我们提到“终点…