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;
    }
相关推荐
tmlx3I0819 分钟前
高光谱拼接算法(六)RANSAC 误匹配剔除
人工智能·算法·机器学习
不相心 -w-18 分钟前
基础-滑动窗口-(定长 | 不定长)
算法
Mininglamp_271821 分钟前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀32 分钟前
C++17(三)if constexpr+折叠表达式
开发语言·c++
醉城夜风~33 分钟前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
ysa05103041 分钟前
【板子】ST表
c++·笔记·算法·板子
qydz1142 分钟前
杰理开发基础知识(3)
开发语言·嵌入式开发·杰理科技
贾斯汀frank43 分钟前
C# 15 类型系统改进:Union Types
开发语言·windows·c#
阿里嘎多学长1 小时前
2026-07-10 GitHub 热点项目精选
开发语言·程序员·github·代码托管
CHHH_HHH1 小时前
【C++11】深入解析C++可变参数模板
开发语言·c++·算法·stl·c++11