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;
    }
相关推荐
weixin_44626085几秒前
模型能力深度对决:GPT-4o、Claude 3.5和DeepSeek V系列模型的横向评测与未来趋势洞察
人工智能·算法·机器学习
绿草在线几秒前
SpringBoot项目实战:从零搭建高效开发环境
java·spring boot·后端
晚风吹红霞几秒前
C++异常处理核心知识点全解析
开发语言·c++
CoderCodingNo2 分钟前
【信奥业余科普】C++ 的奇妙之旅 | 17:面的铺展与文本的本质——二维数组与字符串
开发语言·c++
J2虾虾2 分钟前
Java Lambda 表达式详解文档
java·开发语言
csbysj20206 分钟前
CSS 网格元素
开发语言
lly2024067 分钟前
DOM 元素:深入理解与高效运用
开发语言
longxibo7 分钟前
【第1章 环境搭建与项目结构解析】
java·后端·流程图
鸟儿不吃草8 分钟前
安卓实现左右布局聊天界面
android·开发语言·python
a***72899 分钟前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins