LeetCode 876

题目LeetCode 876

解法一:快慢指针

注意while循环条件,以链表(1,2,3,4,null)为例:

  • 当条件为fast != null && fast.next != null时,若链表元素为偶数个,则返回中间的后一个节点(3)
  • 当条件为fast.next != null && fast.next.next != null时,若链表元素为偶数个,则返回中间的前一个节点(2)

若链表元素为奇数个,则都返回中间节点

java 复制代码
    public ListNode middleNode(ListNode head) {
        ListNode slow = head, fast = head;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        return slow;
    }
相关推荐
缘三水3 分钟前
【C语言】12.指针(2)
c语言·开发语言·指针
Python学习导航5 分钟前
Python开源项目月排行 2025年10月
开发语言·python
buyue__7 分钟前
C++实现数据结构——链表
数据结构·c++·链表
爱吃巧克力的程序媛7 分钟前
Qt 异步编程---概述
开发语言·qt
琢瑜15 分钟前
问题1:Oracle Java路径干扰。问题2:环境变量加载顺序问题
java·maven
feifeigo12315 分钟前
MATLAB实现两组点云ICP配准
开发语言·算法·matlab
Yang-Never15 分钟前
Open GL ES->以指定点为中心缩放图片纹理的完整图解
android·java·开发语言·kotlin·android studio
fengfuyao98518 分钟前
粒子群算法(PSO)求解标准VRP问题的MATLAB实现
开发语言·算法·matlab
编程修仙20 分钟前
第十一篇 Spring事务
xml·java·数据库·spring
7哥♡ۣۖᝰꫛꫀꪝۣℋ22 分钟前
Spring Boot ⽇志
java·spring boot·后端