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;
    }
相关推荐
xwjalyf2 分钟前
javascript数组 forEach,filter,some,every,map,find,reduce的用法与区别
开发语言·javascript·json·ecmascript
qq_2518364574 分钟前
基于java Web 耗材购置与维修网络申报审批系统设计与实现
java·开发语言·前端
真恋寄语枫秋5 分钟前
【Java零基础入门23】Java线程池深度详解:核心参数、拒绝策略、四种创建方式
java
AI玫瑰助手8 分钟前
Python函数:def定义函数与参数传递基础
android·开发语言·python
剑傲娇12 分钟前
【计算机组成原理】 C与汇编的「对话」
服务器·开发语言·缓存
生活爱好者!12 分钟前
用NAS进行漫画创作!一键部署Open WebUI
java·服务器·开发语言·安全·docker
Realdagongzai15 分钟前
Linux 6.19.10 内核调度器算法详解
linux·学习·算法·spring·kernel
Maddie_Mo16 分钟前
Pi Agent Web 使用教程:把本地 Pi Coding Agent 搬进浏览器
android·java·前端·人工智能·ai
charlie11451419116 分钟前
现代C++特性指南(5)——RAII 深入理解:资源管理的基石
开发语言·c++·现代c++
小马爱打代码36 分钟前
Spring源码 第十二篇:Spring 全套核心原理 - 完结终章
java·后端·spring