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;
    }
相关推荐
2601_9498144919 小时前
Spring Boot中使用Server-Sent Events (SSE) 实现实时数据推送教程
java·spring boot·后端
splage20 小时前
HeidiSQL导入与导出数据
java
热爱Java,热爱生活20 小时前
浅谈Spring三级缓存
java·spring·缓存
星越华夏20 小时前
python——三角函数用法
开发语言·python
代码中介商20 小时前
C语言数据存储深度解析:从原码反码补码到浮点数存储
c语言·开发语言·内存
@ chen20 小时前
IDEA初始化配置
java·ide·intellij-idea
We་ct20 小时前
LeetCode 120. 三角形最小路径和:动态规划详解
前端·javascript·算法·leetcode·typescript·动态规划
py有趣20 小时前
力扣热门100题之和为K的子数组
数据结构·算法·leetcode
wellc21 小时前
SpringBoot集成Flowable
java·spring boot·后端
hipolymers21 小时前
C语言怎么样?难学吗?
c语言·数据结构·学习·算法·编程