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;
    }
相关推荐
敲代码的瓦龙6 小时前
Java?枚举!!!
java·开发语言
NiceCloud喜云6 小时前
IntelliJ IDEA 保姆级安装 + ClaudeAPI 配置教程
java·开发语言·前端·ide·chrome·docker·intellij-idea
孙6903426 小时前
swf 图片转 pdf
java·后端
用户4682557459136 小时前
Spring AI MCP 实战:tools/list 启动快照陷阱与完整解法
java
Pkmer6 小时前
LeetCode 上极少见的工程级滑窗实现
python·leetcode
吴声子夜歌6 小时前
Java——EnumMap和EnumSet
java·enumset·enummap
gjwjuejin6 小时前
从 Vue 2 到 Vue 3:一位前端工程师的实战学习笔记
java
3D探路人7 小时前
模灵 大模型聚合API 转发流程技术实现
java·大数据·开发语言·前端·人工智能·计算机视觉
l1t7 小时前
JIT执行python脚本的工具codon安装和测试
开发语言·python
sheeta19987 小时前
LeetCode 每日一题笔记 日期:2026.05.13 题目:1674. 使数组互补的最少操作次数
笔记·算法·leetcode