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;
    }
相关推荐
TL滕13 小时前
从0开始学算法——第十二天(KMP算法练习)
笔记·学习·算法
weixin_4624462313 小时前
EasyExcel 动态修改模板 Sheet 名称:自定义 SheetWriteHandler 拦截器
java·开发语言·easyexcel
Math_teacher_fan13 小时前
第二篇:核心几何工具类详解
人工智能·算法
汉克老师13 小时前
CCF-NOI2025第二试题目与解析(第二题、集合(set))
c++·算法·noi·子集卷积·sos dp·mod 异常
赵庆明老师13 小时前
NET 使用SmtpClient 发送邮件
java·服务器·前端
苏小瀚13 小时前
[Java EE] HTML·CSS·JavaScript基础
java·java-ee
绝世唐门三哥13 小时前
使用Intersection Observer js实现超出视口固定底部按钮
开发语言·前端·javascript
李拾叁的摸鱼日常13 小时前
Spring 框架中 RequestContextHolder 深度解析
java·架构
Ayu阿予13 小时前
C++从源文件到可执行文件的过程
开发语言·c++
C++业余爱好者13 小时前
JVM优化入门指南:JVM垃圾收集器(GC)介绍
java·开发语言·jvm