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;
    }
相关推荐
副露のmagic3 分钟前
哈希章节 leetcode 思路&实现
算法·leetcode·哈希算法
副露のmagic4 分钟前
字符串章节 leetcode 思路&实现
windows·python·leetcode
csuzhucong6 分钟前
puzzle(1037)黑白、黑白棋局
算法
XiYang-DING8 分钟前
【LeetCode】链表 + 快慢指针找中间 | 2095. 删除链表的中间节点
算法·leetcode·链表
Zarek枫煜13 分钟前
[特殊字符] C3语言:传承C之高效,突破C之局限
c语言·开发语言·c++·单片机·嵌入式硬件·物联网·算法
BduL OWED17 分钟前
Redis之Redis事务
java·数据库·redis
寻寻觅觅☆25 分钟前
东华OJ-基础题-30-求最晚和最早日期(C++)
数据结构·c++·算法
FastBean26 分钟前
BizAssert:一个轻量级、生产就绪的 Java 业务断言工具类
java·后端
zhuiyisuifeng32 分钟前
Node.js使用教程
java
李庆政37039 分钟前
Reactor-core 响应式编程 spring-boot-starter-webflux
java·spring boot·reactor·响应式编程·reactor-core