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;
    }
相关推荐
nlpming3 分钟前
opencode Agent 详解
算法
江南十四行7 分钟前
排序算法进阶:直接插入排序(简单排序)与希尔排序
数据结构·算法·排序算法
nlpming7 分钟前
opencode System Prompt 构建机制 & AGENTS.md注入机制
算法
nlpming8 分钟前
opencode - 安装和配置
算法
咸鱼2.09 分钟前
【java入门到放弃】XXL-JOB
java
爱滑雪的码农10 分钟前
Java基础十一 流(Stream)、文件(File)和IO
java·开发语言·python
洛水水12 分钟前
【Redis入门】一篇详解Redis五大数据结构
数据结构·数据库·redis
nlpming13 分钟前
opencode 内置工具
算法
叶小鸡13 分钟前
Java 篇-项目实战-天机学堂(从0到1)-day11
java·开发语言
格林威13 分钟前
线阵工业相机:线阵图像出现“波浪纹”,是机械振动还是编码器问题?
开发语言·人工智能·数码相机·计算机视觉·视觉检测·工业相机·线阵相机