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;
    }
相关推荐
Remember_993几秒前
Spring 中 REST API 调用工具对比:RestTemplate vs OpenFeign
java·网络·后端·算法·spring·php
Y_03几秒前
浅谈Java虚拟机JVM
java·开发语言·jvm
我命由我123451 分钟前
JUnit - 自定义 Rule
android·java·开发语言·数据库·junit·java-ee·android-studio
源代码•宸1 分钟前
分布式理论基础——Raft算法
经验分享·分布式·后端·算法·golang·集群·raft
YiWait2 分钟前
机器学习导论习题解答
人工智能·python·算法
阿杰 AJie2 分钟前
使用Iterator迭代器在遍历中安全删除元素
java·spring
电商API&Tina3 分钟前
【电商API】淘宝/天猫拍立淘(按图搜索商品)API 全解析
大数据·开发语言·数据库·人工智能·json·图搜索算法
XerCis4 分钟前
Python读取硬盘信息pySMART——调用smartctl
开发语言·python·硬件架构
流㶡4 分钟前
scikit-learn之KNN算法实战鸢尾花分类
python·算法·scikit-learn·knn
螺旋小蜗8 分钟前
docker-compose文件属性(14)build
java·docker·eureka