【每日一题】LeetCode——链表的中间结点

📚博客主页:爱敲代码的小杨.
✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》
❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️
🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!

文章目录
- 1.题目描述
- 示例1
- 示例2
- 提示
- 2. 思路
- 3.代码
1.题目描述
给你单链表的头结点 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
题目链接
2. 思路
- 判断头结点的
next是否为空,如果是直接返回头结点 - 定义两个指针
slow和fast,都指向头结点。 - 循环遍历链表,每次
fast指向fast的next的next(每次移动两步);slow指向slow的next(每次移动1步) - 循环条件:
fast == null循环结束(链表元素个数为偶数时),fast.next == null循环结束(链表元素个数为奇数时)。

3.代码
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode middleNode(ListNode head) {if (head.next == null) {return head;}ListNode slow = head;ListNode fast = head;while (fast != null && fast.next != null) {fast = fast.next.next;slow = slow.next;}return slow;}
}
运行结果:


相关文章:
【每日一题】LeetCode——链表的中间结点
📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…...
k8s 部署java应用 基于ingress+jar包
k8 集群ingress的访问模式 先部署一个namespace 命名空间 vim namespace.yaml kind: Namespace apiVersion: v1 metadata:name: ingress-testlabels:env: ingress-test 在部署deployment deployment是pod层一层封装。可以实现多节点部署 资源分配 回滚部署等方式。 部署的…...
深度学习技巧应用36-深度学习模型训练中的超参数调优指南大全,总结相关问题与答案
大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用36-深度学习模型训练中的超参数调优指南大全,总结相关问题与答案。深度学习模型训练中的调优指南大全概括了数据预处理、模型架构设计、超参数优化、正则化策略和训练技巧等多个关键方面,以提升模型性能和泛化能力。 …...
“探索AJAX:前端与后端数据交互的利器“
前言 在现代Web开发中,前端与后端之间的数据交互是一个至关重要的环节。为了实现无需刷新页面的动态更新,AJAX(Asynchronous JavaScript and XML)作为一种强大的技术被广泛应用。 AJAX的原理 AJAX通过JavaScript和XMLHttpReque…...
【5G NR】移动通讯中使用的信道编解码技术
目录 一、引言 二、信道编解码技术概述 三、移动通讯中常用的信道编解码技术 四、优缺点分析与比较 五、未来发展趋势 六、结论 本文主要介绍了移动通讯中采用的信道编解码技术,由于在5G NR终端中,通常要兼容4G LTE通讯技术,所以4G LTE…...
用Python Tkinter打造的精彩连连看小游戏【附源码】
文章目录 连连看小游戏:用Python Tkinter打造的精彩游戏体验游戏简介技术背景MainWindow类:职责:方法:Point类: 主执行部分:完整代码:总结: 连连看小游戏:用Python Tkinter打造的精彩游戏体验 在丰富多彩的游戏世界中,…...
nvm安装node后,npm无效
类似报这种问题,是因为去github下载npm时下载失败, Please visit https://github.com/npm/cli/releases/tag/v6.14.17 to download npm. 第一种方法:需要复制这里面的地址爬梯子去下载(github有时不用梯子能直接下载,有…...
spring boot(2.4.x 开始)和spring cloud项目中配置文件application和bootstrap加载顺序
在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 spring boot 2.4.x 版本之前通过 ConfigFileApplicationListener 加载配置 https://github.com/spring-projects/spring-boot/blob/v2.3.12.RELEASE/spring-boot-project/spring-boot/src/mai…...
5-2、S曲线计算【51单片机+L298N步进电机系列教程】
↑↑↑点击上方【目录】,查看本系列全部文章 摘要:本节介绍S曲线的基本变换,将基本形式的S曲线变换成为任意过两点的S曲线,为后续步进电机S曲线运动提供理论支撑 一.计算目标 ①计算经过任意不同两点的S曲线方程 ②可调节曲线平…...
SQL 注入 - http头注入之UA头注入探测
环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、http头注入介绍 HTTP头注入是一种网络安全攻击手段,它利用了Web应用程序对HTTP头的处理不当或缺乏充分的验证和过滤。在这种攻击中,攻击者通过修改HTTP请求头中的某些字段,…...
学习数据结构和算法的第5天
空间复杂度及其常见案例 空间复杂度 空间复杂度也是一个数学函数表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。 空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度…...
Android 11 访问 Android/data/或者getExternalCacheDir() root方式
前言: 需求要求安装三方应用ExternalCacheDir()下载下来的apk文件。 getExternalCacheDir() : /storage/emulated/0/Android/data/com../cache/ 获取访问权限 如果手机安卓版本为Android10的时候,可以在AndroidManifest.xml中添加下列代码 android:requestLegacyExt…...
Linux探秘之旅:透彻理解路径、命令与系统概念
目录 如何远程连接 远程登录简明指南 linux区别 1.严格区分大小写 2.linux的命令返回结果判断 3.如何查看网络信息 4.关于后缀名(Linux不关心文件后缀) 4.1 需要记忆的后缀 5.echo命令 6.linux一切皆文件 6.1比如磁盘的文件 6.2可执行文件 …...
哈希算法 c语言
#include <stdio.h> #include <stdlib.h> #include <string.h> // 哈希函数 unsigned int hash_function(const char *str) { unsigned int hash 0; while (*str) { hash (hash * 31 *str) % 1000; str; } return hash;…...
新版MQL语言程序设计:组合模式的原理、应用及代码实现
文章目录 一、什么组合模式二、为什么需要组合模式三、组合模式的实现原理四、组合模式的应用场景五、组合模式的代码实现 一、什么组合模式 组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和…...
代码随想录算法训练营第25天 | 216.组合总和III ,17.电话号码的字母组合
回溯章节理论基础: https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 216.组合总和III 题目链接:https://leetcode.cn/problems/combination-sum-iii/ 思路: 本题就是在[1,2,3,4,5,6,7,…...
Rust 第一个rust程序Hello Rust️
文章目录 前言一、vscode 安装rust相关插件二、Cargo New三、vscode调试rustLLDB 前言 Rust学习系列。今天就让我们掌握第一个rust程序。Hello Rust 🦀️。 在上一篇文章我们在macOS成功安装了rust。 一、vscode 安装rust相关插件 以下是一些常用的 Rust 开发插件…...
高斯消去法 | LU分解 | PA=LU分解(MatLab)
一、问题描述 利用高斯消去法,LU 分解及PALU 分解求解非线性方程组。 二、实验目的 掌握高斯消去法、LU 分解、PALU 分解的算法原理;编写代码实现利用高斯消去法、LU 分解、PALU 分解来求解线性方程组。 三、实验内容及要求 1. 利用顺序高斯消去法求…...
Linux笔记之expect和bash脚本监听输出并在匹配到指定字符串时发送中断信号
Linux笔记之expect和bash脚本监听输出并在匹配到指定字符串时发送中断信号 code review! 文章目录 Linux笔记之expect和bash脚本监听输出并在匹配到指定字符串时发送中断信号1.expect2.bash 1.expect 在Expect脚本中,你可以使用expect来监听程序输出,…...
项目02《游戏-12-开发》Unity3D
基于 项目02《游戏-11-开发》Unity3D , 任务:实现场景怪物自动巡航 , 首先在场景中创建小球命名为路径点WayPoint0, 取消小球的碰撞器Collider, 再复制两个改名为WayPoint1 和 WayPoint2 , 在…...
告别XDMA限制:用开源Riffa框架在Linux下轻松实现多通道PCIE DMA通信(Kintex-7实测)
突破XDMA瓶颈:开源Riffa框架在Linux下的多通道PCIE DMA实战指南(Kintex-7验证) 当FPGA开发者面临高速数据采集、实时信号处理或多设备协同工作时,PCIE DMA通道的数量往往成为系统性能的瓶颈。Xilinx官方XDMA方案虽然稳定ÿ…...
终极CLIP-as-service指南:如何高效处理批量文本与图像嵌入任务
终极CLIP-as-service指南:如何高效处理批量文本与图像嵌入任务 【免费下载链接】clip-as-service 🏄 Scalable embedding, reasoning, ranking for images and sentences with CLIP 项目地址: https://gitcode.com/gh_mirrors/cl/clip-as-service …...
Rust数据库实战:Rusqlite SQLite深度解析
Rust数据库实战:Rusqlite SQLite深度解析 引言 在Rust开发中,SQLite是构建轻量级数据库应用的核心技术。作为一名从Python转向Rust的后端开发者,我深刻体会到Rusqlite在SQLite操作方面的优势。Rusqlite是Rust生态中最流行的SQLite客户端库&am…...
clipboardy在Windows环境下的完整部署:PowerShell与二进制回退方案详解
clipboardy在Windows环境下的完整部署:PowerShell与二进制回退方案详解 【免费下载链接】clipboardy Access the system clipboard (copy/paste) 项目地址: https://gitcode.com/gh_mirrors/cl/clipboardy clipboardy是一款强大的跨平台系统剪贴板访问工具&a…...
Publify SEO优化完全指南:提升博客排名的7个关键策略
Publify SEO优化完全指南:提升博客排名的7个关键策略 【免费下载链接】publify A self hosted Web publishing platform on Rails. 项目地址: https://gitcode.com/gh_mirrors/pu/publify Publify是一款基于Ruby on Rails的自托管Web发布平台,也是…...
【Transformer系列】从One-Hot到Embedding:构建AI语言理解的基石
1. 从One-Hot编码说起:AI的第一堂语言课 想象你正在教一个外星人认识汉字。你拿出一本字典说:"这里有10万个字,每个字对应一个编号,猫是第12345号,狗是第67890号。"这就是最原始的One-Hot编码思想——用一串…...
运放噪声深度解析:从原理到工程实践的计算与优化
1. 项目概述:为什么我们需要关心运放的噪声?如果你曾经调试过一个高精度的信号调理电路,比如一个微弱的传感器信号放大链路,或者一个高分辨率的ADC前端,你大概率遇到过这样的场景:理论上,你的电…...
Systemback实战:从系统备份到自定义镜像部署全流程
1. Systemback基础入门:你的系统时光机 第一次听说Systemback时,我正面临着一个典型运维困境:实验室20台Ubuntu工作站需要统一部署开发环境。传统的手动安装方式不仅耗时,还容易产生配置差异。直到发现这个开源神器,才…...
CircuitPython嵌入式开发:从代码编辑、串口调试到库管理的完整工作流
1. 从零开始:CircuitPython的嵌入式开发哲学如果你和我一样,是从Arduino或者传统的C语言嵌入式开发转过来的,第一次接触CircuitPython的感觉,大概就像从手动挡汽车换到了电动车。那种“拧钥匙、挂挡、踩离合”的繁琐步骤ÿ…...
智能休息提醒扩展:基于上下文感知的开发者健康管理工具
1. 项目概述:一个为开发者设计的“代码暂停”利器如果你和我一样,每天大部分时间都泡在代码编辑器里,那你肯定经历过这样的时刻:盯着一段复杂的逻辑或者一个棘手的Bug,大脑高速运转了半小时,却感觉毫无进展…...
