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;
    }
相关推荐
zh_xuan42 分钟前
kotlin 高阶函数用法
开发语言·kotlin
colicode42 分钟前
安卓Android语音验证码接口API示例代码:Kotlin/Java版App验证开发
android·java·前端·前端框架·kotlin·语音识别
程序员敲代码吗1 小时前
解析Kotlin中元组的多返回值实现
android·开发语言·kotlin
Java后端的Ai之路1 小时前
【 Java】-网络协议核心知识问答(比较全)
java·开发语言·网络协议
小道仙977 小时前
jenkins对接、jenkins-rest
java·servlet·jenkins·jenkins-rest
小陈phd8 小时前
多模态大模型学习笔记(七)——多模态数据的表征与对齐
人工智能·算法·机器学习
雨泪丶8 小时前
代码随想录算法训练营-Day35
算法
pursuit_csdn8 小时前
LeetCode 1022. Sum of Root To Leaf Binary Numbers
算法·leetcode·深度优先
莫寒清8 小时前
MinIO
java
NAGNIP9 小时前
一文搞懂神经元模型是什么!
人工智能·算法