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;
    }
相关推荐
网小鱼的学习笔记4 分钟前
面试题1:==和equals的比较
java·jvm·面试
LegendNoTitle4 分钟前
Windows和Linux下Rust-init、Cargo下载慢的解决
开发语言·windows·rust
亓才孓10 分钟前
深浅拷贝--Java
java·开发语言·windows
alphaTao13 分钟前
LeetCode 每日一题 2025/12/29-2026/1/4
算法·leetcode
ShaderJoy13 分钟前
ShaderJoy —— 《对称镜面下的绞肉机》【算法悬疑短文】【Python】
算法·leetcode·面试
潲爺14 分钟前
Java笔记总结
java·开发语言·笔记·学习
菜的不敢吱声16 分钟前
swift学习第一天
开发语言·学习·swift
智驱力人工智能16 分钟前
在安全与尊严之间 特殊人员离岗检测系统的技术实现与伦理实践 高风险人员脱岗预警 人员离岗实时合规检测 监狱囚犯脱岗行为AI分析方案
人工智能·深度学习·opencv·算法·目标检测·cnn·边缘计算
培林将军18 分钟前
C语言指针
c语言·开发语言·算法
云栖梦泽21 分钟前
鸿蒙分布式应用全链路性能调优实战
开发语言·鸿蒙系统