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;
    }
相关推荐
csbysj20201 分钟前
Bootstrap5 Jumbotron 深入解析
开发语言
z200509303 分钟前
今日算法: 二叉搜索树
算法
郝学胜-神的一滴5 分钟前
CMake 010 :一步到位链接静态库
开发语言·c++·qt·程序人生·系统架构·cmake
蝈理塘(/_\)大怨种6 分钟前
快速排序的递归与非递归实现
数据结构·算法
小江的记录本7 分钟前
【MySQL】MySQL日志体系:redo log/undo log/binlog 三者区别、两阶段提交、如何保证数据一致性
java·数据库·后端·python·sql·mysql·面试
小则又沐风a9 分钟前
C++继承
开发语言·c++
测试员周周10 分钟前
【Appium 系列】第10节-手势操作实战 — 滑动、拖拽、缩放与轻拂
linux·服务器·开发语言·人工智能·python·appium·pytest
雪度娃娃13 分钟前
转向现代C++——在创建对象时注意区分()和{}
开发语言·c++
铅笔小新z15 分钟前
【C语言】数组详解
c语言·开发语言
吴可可12315 分钟前
用Bulge保持多段线圆弧连续性
算法·c#