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;
    }
相关推荐
刘马想放假18 分钟前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
未秃头的程序猿1 小时前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
用户298698530142 小时前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉2 小时前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
05Kevin2 小时前
lk每日冒险题--数据结构6.27
算法
咖啡八杯2 小时前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手2 小时前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
Java内核笔记2 小时前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端
荣码2 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python