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;
    }
相关推荐
mldong17 小时前
流程图上没画人,单子却走对了:工作流引擎内置处理人解析器
java·架构
曹牧17 小时前
C#:线程间操作无效,不是从创建控件线程访问
开发语言·c#
tanzongbiao17 小时前
Dorado7文件上传 解决HttpServletResponse返回值中文乱码的问题
java·服务器·前端
承渊政道18 小时前
【Python编程—从入门到实践】(Python条件判断完全入门:从布尔表达式到列表中的if实战)
开发语言·python·pycharm·条件判断·布尔表达式
小灰灰搞电子18 小时前
Rust 相关容器(集合)详解
开发语言·容器·rust
茶本无香19 小时前
Arthas 实战:线上“看 Map”的四种武器
java·map·arthas·线上定位
霸道流氓气质19 小时前
Spring AI异常处理与重试机制
java·人工智能·spring
郑州光合科技余经理21 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
萧瑟余晖1 天前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利1 天前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v