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;
    }
相关推荐
悠哉清闲2 分钟前
C++ 指针与引用
java·c++·算法
西京刀客7 分钟前
构建 Go 可执行文件镜像 | 探索轻量级 Docker 基础镜像(我应该选择哪个 Docker 镜像?)
开发语言·docker·golang
然我28 分钟前
链表指针玩不转?从基础到双指针,JS 实战带你破局
前端·数据结构·算法
没有羊的王K34 分钟前
SSM框架学习DI入门——day2
java·spring boot·学习
公子绝35 分钟前
JAVA学习笔记 使用notepad++开发JAVA-003
java·学习·notepad++·java开发环境
EndingCoder36 分钟前
算法与前端的可访问性
前端·算法·递归·树形结构
似璟如你43 分钟前
Java开发八股文之基础篇+spring+集合
java·开发语言·面试
本杰明15244 分钟前
2025/7/14——java学习总结
java·开发语言·学习
2345VOR1 小时前
【C#地图显示教程:实现鼠标绘制图形操作】
开发语言·c#·计算机外设·地图显示鼠标交互
开开心心_Every1 小时前
可增添功能的鼠标右键优化工具
开发语言·pdf·c#·计算机外设·电脑·音视频·symfony