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;
    }
相关推荐
s砚山s16 分钟前
代码随想录刷题——二叉树篇(一)
c++·算法·leetcode
小十一再加一23 分钟前
【数据结构初阶】单链表
数据结构
含目的基因的质粒1 小时前
Python异常、模块、包
服务器·开发语言·python
为什么要做囚徒1 小时前
IntelliJ IDEA 远程断点调试完全指南
java·ide·intellij-idea
探索宇宙真理.1 小时前
Apache Tomcat RewriteValve目录遍历漏洞 | CVE-2025-55752 复现
java·经验分享·tomcat·apache·安全漏洞
Boilermaker19921 小时前
【Redis】集群与分布式缓存
java·数据库·redis·1024程序员节
YC运维2 小时前
Kubernetes资源管理全解析
java·容器·kubernetes
千码君20162 小时前
Go语言:解决 “package xxx is not in std”的思路
开发语言·后端·golang
Ypuyu2 小时前
【GoLang】【框架学习】【GORM】4. 使用 BeforeUpdate hook 操作时,出现反射报错
开发语言·学习·golang