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;
    }
相关推荐
lzhdim几秒前
SharpCompress:跨平台的 C# 压缩与解压库
开发语言·c#
嘿嘿嘿x35 分钟前
Linux记录过程
linux·开发语言
Mars酱6 分钟前
1分钟编写贪吃蛇 | JSnake贪吃蛇单机版
java·后端·开源
devpotato6 分钟前
人工智能(四)- Function Calling 核心原理与实战
java·人工智能
田梓燊9 分钟前
2026/4/11 leetcode 3741
数据结构·算法·leetcode
默 语13 分钟前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
止观止14 分钟前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext
斯内科18 分钟前
FFT快速傅里叶变换
算法·fft
zjshuster22 分钟前
墨西哥中央银行网联清算系统接入总结
java·财务对账
小锋java123423 分钟前
SpringBoot 4 + Spring Security 7 + Vue3 前后端分离项目设计最佳实践
java·vue.js·spring boot