【C语言】Leetcode 876. 链表的中间节点

主页:17_Kevin-CSDN博客

专栏:《Leetcode》

题目

 通过题目的要求可以判断出有两种示例要解决,一种是偶数节点的链表,一种是奇数节点的链表,应对这两种情况我们需要使程序对二者都可以兼容。

解决思路

struct ListNode* middleNode(struct ListNode* head) 
{struct ListNode *slow = head,*fast = head;while(fast && fast -> next){slow = slow -> next;fast = fast -> next -> next;}return slow;
}

中间节点,只要找到中间的位置就能找到中间的节点。那么这个位置要怎么去查找呢?

我们可以用快慢指针的思想来进行查找,定义一个慢指针,再定义一个是慢指针速度二倍的快指针,这样的话当快指针到最后的位置的时候慢指针指向的就是中间节点了。

但是在查找的时候还要同时解决上面提到的两种情况:

①奇数链表

从两个指针的初始开始研究,当前两个指针都处在第一个节点的位置,然后我们开始移动。

可以发现,在奇数数量节点的链表中,当fast到达最后一个节点的时候slow刚好指向了中间节点。这样就完成了查找中间节点的目的,该遍历循环的条件是fast -> next != NULL,也就是当fast的next是NULL的时候终止循环,此时的slow指向就是中间节点。

②偶数链表

同样的,我们也是从头开始循环。

因为是偶数链表,所以需要查找到的中间节点的位置是中间两个节点中的第二个,当循环后发现,当fast到达NULL的时候slow指向的才是中间的第二个节点,所以该情况的循环条件为fast != NULL。


以上便是本篇博客的全部内容,感谢您的支持~ 

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

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

相关文章

03. Nginx入门-Nginx虚拟主机

Nginx虚拟主机简介 yum安装与源码安装一样,只是Nginx配置文件路径不一致,这里用的yum安装的配置文件路径。 利用虚拟主机的功能,可以在一台Nginx服务器上部署一个或多个虚拟主机。 虚拟主机主配置文件 注意:配置完成Nginx主配置…

时间序列数据平稳性检验与随机性分析

1、实验内容: 分析1964年到1999年中国纱产量的时间序列,主要内容包括: (1)、通过图分析时间序列的平稳性,这个方法很直观,但比较粗糙; (2)、通过计算序列的自相关和偏自相关系数,绘出自相关图,根据平稳时间序列的性质分…

splay学习笔记重制版

以前写的学习笔记:传送门 但是之前写的比较杂乱,这里重制一下 问题背景 假设我们要维护一个数据结构,支持插入、删除、查询某个值的排名,查询第 k k k大的值等操作。 最直接的想法是用二叉搜索树,也就是左子树权值&l…

Java实现手机库存管理

一、实验任务 编写一个程序,模拟库存管理系统。该系统主要包括系统首页、商品入库、商品显示和删除商品功能。每个功能的具体要求如下: 1.系统的首页:用于显示系统所有的操作,并且可以选择使用某一个功能。 2.商品入库功能&…

《JAVA与模式》之访问者模式

系列文章目录 文章目录 系列文章目录前言一、分派的概念二、分派的类型三、访问者模式的结构四、访问者模式的优点五、访问者模式的缺点 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网…

ACWing: 730.机器人跳跃问题

二分、递推 #include <iostream> #include <cstring> #include <algorithm> using namespace std;const int N 1e5 10; int h[N] {0};int n,maxh0; // 当 E > maxh 时一定可以满足bool check(int mid){int E mid;for(int i 1;i < n;i){E 2 *…

电商直播大屏是什么?想搞这个怎么做?

随着电商行业的快速发展&#xff0c;直播带货已成为当下最热门的市场营销方式之一。为了更好地掌握直播数据&#xff0c;为企业决策提供有力支持&#xff0c;电商直播数据大屏应运而生。 一、电商直播数据大屏概述 电商直播数据大屏是一种集成了多种数据源的大屏幕可视化展示…

【管理咨询宝藏资料33】某头部咨询公司组织效能提升模型方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏资料33】某头部咨询公司组织效能提升模型方案 【关键词】战略规划、组织效能、管理咨询 【文件核心观点】 - 通过长期行业积累和市场洞察&#…

四电极测脂模块CSU18M91开发脂肪秤方案

一台脂肪秤通过测试体重、体脂、BMI、水分等数据并给出相应提示&#xff0c;并且许多人都将体脂检测数据作为身体健康指数衡量标准&#xff0c;辅助用户来关注身体健康&#xff0c;同时可以通过蓝牙与手机APP应用相连&#xff0c;记录日常身体变化情况&#xff0c;根据变化情况…

表单验证、属性绑定(一个属性根据另一个属性有无进行操作)

表单验证 一个属性根据另一个属性有无进行操作&#xff08;属性绑定&#xff09; 1、问题描述 ​ 需求&#xff1a;表单里面后两个属性需要根据前面一个属性进行有无判断。如果前面属性没有输入值&#xff0c;则不需要进行操作&#xff1b;如果前面属性有输入值&#xff0c;则…

通过scp在两台设备之间传输文件的sh脚本

前言 因项目需要&#xff0c;需要在两台设备发送大的文件&#xff0c;使用了Libcurl和libssh 和 libsftp等库&#xff0c;发现各种文件&#xff0c;连官方的demo都有文件&#xff0c;于是想到干脆写脚本还简单一些。 环境安装&#xff1a; sudo apt-get install expect 发送&a…

Windows如何安装docker-desktop

下载 docker-desktop设置环境安装wsl可能遇到的错误 下载 docker-desktop 下载官网&#xff1a;https://www.docker.com/products/docker-desktop/ 设置环境 如果没有Hyper-V选项的,按照以下步骤 添加一个文件Hyper-V.bat 添加以下内容,并双击运行后重启电脑 pushd "%~…

喜讯!聚铭网络实力入选「网安新兴赛道厂商速查指南」11大细分赛道

近日&#xff0c;国内首家专业聚焦网络安全商业市场研究分析和加速服务的机构——斯元商业咨询正式发布2024「网安新兴赛道厂商速查指南Emerging Technology Vendor Index」。 聚铭网络凭借在网络安全领域的深厚技术积累、丰富的行业应用经验和良好的客户口碑&#xff0c;成功…

大唐杯学习笔记:Day4

1.1NR帧结构 5G NR中,依然采用一帧10ms,并将一帧分为10子帧,每个子帧为1ms。每个子帧包含几个时隙(slot),每个时隙由14个OFDM符号构成(在常规CP下)。 μ \mu μ Δ f 2 μ ∗ 15 [ K H Z ] \Delta f2^{\mu}*15[KHZ] Δf2μ∗15[KHZ]Cyclic prefix015Normal130Normal260Normal…

运维随录实战(2)之k8s部署应用

一, 创建.gitlab-ci.yml文件 架构流程 文件内容 stages: #设置流水线模版- build # 编译- source2img- deploy # 发布variables: # 设置全局变量MAVEN_PATH: .m2MAVEM_IMAGE: maven:3.8.5-openjdk-17-slim # maven 打包使用的镜像MAVEN_CLI_OPTS: "-s $MAVEN_PATH/set…

红帆OA 多处 SQL注入漏洞复现

0x01 产品简介 红帆iOffice.net从最早满足医院行政办公需求(传统OA),到目前融合了卫生主管部门的管理规范和众多行业特色应用,是目前唯一定位于解决医院综合业务管理的软件,是最符合医院行业特点的医院综合业务管理平台,是成功案例最多的医院综合业务管理软件。 0x02 漏…

java中开源json处理库介绍

在Java生态系统中&#xff0c;有几个常用的开源库用于处理JSON数据。这些库各有特点&#xff0c;适用于不同的场景。下面我将介绍几个流行的Java JSON处理库&#xff0c;包括它们的基本情况、主要特点和核心API。 Jackson 基本情况 Jackson是一个流行的Java库&…

【李沐论文精读】Transformer精读

论文&#xff1a;Attention is All You Need 参考&#xff1a;李沐视频【Transformer论文逐段精读】、Transformer论文逐段精读【论文精读】、李沐视频精读系列 一、摘要 主流的序列转换(sequence transduction)模型都是基于复杂的循环或卷积神经网络&#xff0c;这个模型包含一…

java实现文件上传到本地

很多时候我们都需要进行文件上传和下载的操作&#xff0c;具体怎么实现网上的代码其实也是挺多的&#xff0c;刚好我的项目中也遇到了文件上传和下载的需求&#xff0c;本篇博文具体讲解上传操作&#xff0c;下篇博文讲解下载操作。 我们具体来想一想要将一个从前端传来的文件…

Servlet快速入门

什么是Servlet? Servlet可以用很多方式来描述&#xff0c;这取决于上下文。 是一种技术&#xff0c;它被用来创建一个Web应用程序。 是一个API&#xff0c;它提供了许多接口和类&#xff0c;包括文档。 是一个接口&#xff0c;创建任何Serwlet都必须实现这个接口。 是一个扩展…