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;
    }
相关推荐
kiros_wang4 分钟前
网络状态监听&WiFi信息获取:弱网提示、断网兜底方案
开发语言·网络·php
geovindu6 分钟前
rust: pool Pattern (续)
开发语言·后端·设计模式·rust·对象池简写模式
一条泥憨鱼7 分钟前
拦截器与过滤器:一次请求穿过 Spring 时,会先经过谁呢
java·开发语言·后端·spring
晴天的雨.9928 分钟前
【C++】 priority_queue知识点总结
开发语言·数据结构·c++
Shaoshing10 分钟前
二分模板(左右查询)
java·算法·二分
小七在进步10 分钟前
C++内存管理:new/delete vs malloc/free深度解析
android·java·c++
yuniko-n12 分钟前
【JUC】公平锁与非公平锁
java
闻缺陷则喜何志丹12 分钟前
概要设计说明书应包括的内容
数据结构
郑州光合科技余经理13 分钟前
本地生活服务系统:预约状态和进度通知接口怎么拆
java·开发语言·前端·javascript·后端·php·生活
靠沿17 分钟前
MySQL数据库基础——事务
java·数据库·mysql