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;
    }
相关推荐
木子.李3474 分钟前
数据结构-算法C++(额外问题汇总)
数据结构·c++·算法
板板正20 分钟前
EasyExcel实现普通导入导出以及按模板导出excel文件
java·excel
花心蝴蝶.25 分钟前
API签名认证算法全解析
算法
野犬寒鸦28 分钟前
从零起步学习Redis || 第十章:主从复制的实现流程与常见问题处理方案深层解析
java·服务器·数据库·redis·后端·缓存
luopandeng29 分钟前
amd npt技术 对比 intel ept 技术
java·linux·网络
兮山与32 分钟前
算法6.0
算法
编啊编程啊程32 分钟前
兼职管理平台
java·spring boot·rpc·dubbo·nio
代码对我眨眼睛32 分钟前
739. 每日温度 LeetCode 热题 HOT 100
算法·leetcode
吃饭最爱1 小时前
java项目中前后端结合的要点
java
程序员莫小特1 小时前
老题新解|计算2的N次方
开发语言·数据结构·算法·青少年编程·信息学奥赛一本通