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;
    }
相关推荐
布朗克168几秒前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
njsgcs1 分钟前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks
小研说技术5 分钟前
Spring AI实现rag流程(简易版)
java·后端
运行时记录7 分钟前
别再手动写提示词了 — SkillOpt 让技能文档自己进化
算法
亓才孓10 分钟前
【本地项目引用外部库的类,想修改字段遇到的请缓存的问题】
java·maven
啦啦啦啦啦zzzz20 分钟前
算法总结(二分查找、双指针)
c++·算法
小林敲代码778820 分钟前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
南知意-24 分钟前
IDEA 2026.1最新版安装教程
java·ide·intellij-idea·idea安装·idea激活
njsgcs30 分钟前
c# solidworks 工程图获得展开视图不在固定面螺纹特征的位置
开发语言·c#·solidworks
星子落怀aa41 分钟前
Java 反复报错?Gemini助力修复
java