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;
    }
相关推荐
huabiangaozhi6 分钟前
修改表字段属性,SQL总结
java·数据库·sql
请为小H留灯7 分钟前
一键解决 IDEA 中 Java 项目变橙色的问题!!!
java·ide·maven·intellij-idea·java项目
小文大数据26 分钟前
python实现HTML转PDF
java·前端·数据库
羊小蜜.26 分钟前
Mysql 03: 连接查询全解——内连接、外连接与复合条件查询
数据库·mysql·算法·连接查询
架构师沉默31 分钟前
为什么 Dubbo 从 ZooKeeper 转向 Nacos?
java·后端·架构
vivo互联网技术35 分钟前
CVPR 2026 | C²FG:用分数差异分析提高条件生成中CFG的引导
人工智能·算法·aigc
用户83071968408236 分钟前
Spring Prototype Bean的四种正确使用方式
java·spring boot·后端
永恒_顺其自然38 分钟前
Java Web 传统项目异步分块上传系统实现方案
java·开发语言·前端
赫瑞1 小时前
Java中的大数处理 —— BigInteger
java·开发语言
r_oo_ki_e_1 小时前
java25--Collection集合
java·开发语言