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;
    }
相关推荐
用户3126874877209 分钟前
@Autowired 注入的是代理对象?Spring AOP 代理选择原理一次讲透
java·spring
白白白小纯11 分钟前
算法篇—链表的中间节点
c语言·数据结构·算法·leetcode
@insist12314 分钟前
信息系统管理工程师-任务、标准、EDM 过程与关键域
java·大数据·数据库
木子杳衫25 分钟前
Java高级进阶 | 单元测试JUnit + 反射机制实战详解
java·junit·单元测试
Frostnova丶28 分钟前
(19)LeetCode 54. 螺旋矩阵
算法·leetcode·矩阵
qq_3660862229 分钟前
关于接口路径中中文值解码问题
java·开发语言·数据库
Frostnova丶32 分钟前
(18)LeetCode 73. 矩阵置零
算法·leetcode·矩阵
大白菜和MySQL33 分钟前
elk部署和kibana图形化展示
java·笔记·elasticsearch
Zane199444 分钟前
JMM 与 happens-before:一次搞懂 Java 内存模型
java·后端
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-11 分段计算居民水费(C语言实现)
c语言·开发语言·算法