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;
    }
相关推荐
程序员黑豆5 小时前
Java字符串详解
java·前端·ai编程
m0_720245016 小时前
1543.统计好三元组(简单)
开发语言·算法
To_OC6 小时前
LC 560 和为 K 的子数组:前缀和配哈希表,这对组合我是真的服了
javascript·算法·程序员
EntyIU6 小时前
NFS离线部署
java
hans汉斯7 小时前
《软件工程与应用》期刊推荐&10月版面征稿中
图像处理·人工智能·深度学习·算法·音视频·软件工程
叠层归一研究院7 小时前
AGI 系统(八):符号范畴嵌入函子 — SymCat ↪ C_M107 严格化
c语言·开发语言·人工智能·算法·transformer·agi
明朝百晓生7 小时前
Deep RL learning[2026/8]
开发语言·javascript·人工智能
weixin-a153003083168 小时前
python-装饰器
开发语言·python
其美杰布-富贵-李8 小时前
08 进阶评估指标与算法特定指标
人工智能·算法
我的xiaodoujiao8 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具