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;
    }
相关推荐
一只小白0002 小时前
反转单链表模板
数据结构·算法
橘颂TA2 小时前
【笔试】算法的暴力美学——牛客 WY22 :Fibonacci数列
算法
MX_93592 小时前
Spring MVC拦截器
java·后端·spring·mvc
橘子编程2 小时前
MindOS:你的AI第二大脑知识库
java·开发语言·人工智能·计算机网络·ai
XWalnut2 小时前
LeetCode刷题 day9
java·算法·leetcode
bIo7lyA8v2 小时前
算法稳定性分析中的随机扰动建模的技术9
算法
忧郁的Mr.Li2 小时前
JAVA工具类---PDF电子签章工具类
java·pdf
aini_lovee2 小时前
C# 快速搜索磁盘文件解决方案
开发语言·c#
小陈工2 小时前
2026年4月8日技术资讯洞察:边缘AI推理框架竞争白热化,Python后端开发者的机遇与挑战
开发语言·数据库·人工智能·python·微服务·回归
谢白羽2 小时前
vllm抢占机制详解
算法·vllm