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;
    }
相关推荐
cxoptics3 小时前
LBO 会不会潮解?存储、镀膜、日常使用注意事项?
java
kiracrimson3 小时前
希尔排序:让插入排序不再怕逆序
数据结构·算法·排序算法
SL_staff3 小时前
非研发人员搭业务逻辑?先认清这3个可视化编程分水岭
java
王闯写bug3 小时前
tomcat老版本下载tomcat8.5下载
java·tomcat
Logic1013 小时前
C语言/数据结构位运算题解:异或XOR找出星球探险中的“独特能量石“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
凤山老林3 小时前
Spring Boot DDD 分层架构落地:领域模型、聚合根与事件驱动的业务实战
java·spring boot·架构
自强的小白3 小时前
MYbatis-plus(自定义sql)
java·sql·mybatis
古法安卓3 小时前
Android-Ext4文件系统问题排查
android·java·android studio
Escalating_xu3 小时前
【C 语言】深入理解指针(3):字符指针、数组指针、二维数组传参、函数指针与转移表
java·c语言·开发语言
不正经的码狗4 小时前
Java 开发环境搭建与 Eclipse 使用速通教程
java·开发语言·eclipse