LeetCode 876. 链表的中间结点

题目描述:

给你单链表的头结点 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 ,返回第二个结点。

代码:

复制代码
//奇数:p1走一步,p2走两步,p2.next!=null
    //偶数:p1走一步,p2走两步,p2!=null
    public ListNode middleNode(ListNode head){
        ListNode p1=head;
        ListNode p2=head;
        while(p2!=null&&p2.next!=null){//偶数:p2!=null(短路运算符写在前面,奇数:p2.next!=null
            p1=p1.next;
            p2=p2.next.next;
        }
        return p1;
    }
相关推荐
斯班奇的好朋友阿法法1 分钟前
JAVA映射实体类对象和LIst
java·python·list
yyovoll2 分钟前
java线程知识点介绍1
java·开发语言
一念一花一世界8 分钟前
Arbess从基础到实践(5) - 集成GitLab+SonarQube搭建Java项目自动化部署
java·gitlab·sonarqube·cicd·arbess
萧曵 丶8 分钟前
CompletableFuture 实际场景使用案例
java·多线程·并发编程·高级开发
肥猪猪爸14 分钟前
TextToSql——Vanna的安装与使用
人工智能·python·算法·机器学习·大模型·ollama·vanna
_UMR_20 分钟前
多线程场景的学习3,使用CountDownLatch
java·开发语言
无限大.20 分钟前
验证码对抗史
java·开发语言·python
明月别枝惊鹊丶36 分钟前
【C++】GESP 三级手册
java·开发语言·c++
毕设源码-钟学长37 分钟前
【开题答辩全过程】以 公交线路查询系统为例,包含答辩的问题和答案
java
梵得儿SHI37 分钟前
SpringCloud - 核心组件精讲:Nacos 深度解析(服务注册 + 配置中心一站式实现)
java·spring boot·spring cloud·nacos·微服务架构的核心组件·服务注册发现与配置管理·nacos的核心原理与实战应用