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;
    }
相关推荐
千寻girling2 分钟前
被内推的面试 , 第一次
java·前端·python·面试·职场和发展·typescript·node.js
星辰_mya30 分钟前
PV之系统与并发的核心wu器
java·开发语言·后端·学习·面试·架构师
va学弟1 小时前
Agent入门开发
java·运维·服务器·ai
做时间的朋友。1 小时前
Java虚拟线程详解:从原理到实战,解锁百万并发新姿势
java·开发语言
一只大袋鼠1 小时前
MyBatis 从入门到实战(二):代理 Dao 开发与多表关联查询
java·开发语言·数据库·mysql·mybatis
明月醉窗台1 小时前
Python-opencv批量处理文件夹中图像操作
开发语言·python·opencv
周末也要写八哥1 小时前
C++实际开发之泛型编程(模版编程)
java·开发语言·c++
好家伙VCC1 小时前
**发散创新:用 Rust实现游戏日引擎核心模块——从事件驱动到多线程调度的实战
java·开发语言·python·游戏·rust
014-code1 小时前
Chronicle Queue:把 Disruptor 的数据落盘
java·服务器
Dxy12393102161 小时前
Python在图片上画圆形:从入门到实战
开发语言·python