每日一题-876. 链表的中间结点

数据资产入表——解读100页数据资产入表解读与分析【附全文阅读】 本文档《数据资产入表:解读与分析》面向企业财务、数据管理、法务合规及高管等核心岗位,系统解析数据资产入表全流程。以"政策-实操-价值"为主线,首先解读入表政策要求,明确会计处理规范;其次详细拆解数据盘点、治理、确权、评估等实操步骤,提供行业案例参考;最后分析入表难点及后续运营策略,为企业提供从政策理解到落地执行的一站式解决方案。 阅读详情

1. 题目描述

给定一个头结点为 head 的非空单链表,返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。

示例 1:

输入:[1,2,3,4,5]
输出:此列表中的结点 3 (序列化形式:[3,4,5])
返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。
注意,我们返回了一个 ListNode 类型的对象 ans,这样:
ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = NULL.
示例 2:

输入:[1,2,3,4,5,6]
输出:此列表中的结点 4 (序列化形式:[4,5,6])
由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/middle-of-the-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.解题思路

2.1 本人解题思路-单指针法
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode middleNode(ListNode head) {

        // 第一遍循环查找链表长度
        int len = 0;
        ListNode cur = head;
        while(head != null) {
            len++;
            head = head.next;
        }

        int cnt = 0;
        while(cnt < len/2) {
                cnt++;
                cur = cur.next;
       }

       return cur;
    }
}

2.2 借鉴答题思路-快慢指针法
/**
 * fast指针 step=2,slow指针step=1
 * fast走到末尾时,slow必然在中间
 */
 class Solution {
    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;
    }
}

作者:LeetCode-Solution
链接:https://leetcode.cn/problems/middle-of-the-linked-list/solution/lian-biao-de-zhong-jian-jie-dian-by-leetcode-solut/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

AI快速变现之路,AI视频创作 初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。 阅读详情

相关推荐

关键词‖旋变传感器

旋转变压器(以下简称旋变)安装在永磁同步驱动电机的非传动端,其作用是检测转子的位置和速度。目前,通常采采用结构简单、坚固耐用、环境适应性好的磁阻式旋变作为位置传感器。

m0_72345077的博客 2144

Java每日一题——> 876. 链表的中间结点

这是LeetCode上的 [876,链表的中间结点],难度为 [简单] 题意 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例1 输入:[1,2,3,4,5] 输出:此列表中的结点 3 示例2 输入:[1,2,3,4,5,6] 输出:此列表中的结点 4 题解(快慢指针) 思路分析 求链表中间结点需要清楚一下两个问题 当链表为偶数时,按理说是不存在中间结点,但题意要求它只需返回中间链的下一个结点作为中间结点(可以理解为从中间链断开分成两

stormzhuo的博客 7322

交叉熵损失函数基本概念及公式

对于二分类问题,模型的输出通常是一个标量,表示样本属于正类的概率。因此,在二分类的交叉熵损失函数中,我们只需要考虑一个概率值,即模型预测为正类的概率。具体来说,当真实标签为1时,我们关注模型预测为正类的概率;当真实标签为0时,我们关注模型预测为负类的概率。因此,二分类的交叉熵损失函数可以表示为:其中,y 表示真实标签,取值为 0 或 1;p 表示模型预测为正类的概率。而对于多分类问题,模型的输出通常是一个向量,表示样本属于各个类别的概率。因此,在多分类的交叉熵损失函数中,我们需要考虑所有类别的概率。

qlkaicx的博客 1万+

【LeetCode每日一题】——876.链表的中间结点

给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。

IronmanJay 279

保姆级教程:STM32CubeMX配置PWM死区与刹车功能,防止电机驱动炸管

本文详细解析了使用STM32CubeMX配置PWM死区与刹车功能的完整流程,帮助工程师避免电机驱动中的炸管风险。通过深入讲解死区时间计算公式、CubeMX配置界面及刹车功能的安全机制,结合实际电路设计要点和调试技巧,为电机驱动和电源转换应用提供可靠解决方案。

weixin_42550597的博客 343

Android/AutoMotive 多用户文件操作与权限管理

本文深入探讨了Android/Automotive多用户系统的文件操作与权限管理机制。文章阐述了多用户隔离与共享的核心原理,重点介绍了如何使用adb指令精准管理不同用户的应用与数据,并提供了在Android Automotive车载场景下实现安全跨用户数据共享与权限控制的最佳实践。

weixin_29214691的博客 160

Leetcode-每日一题【876.链表的中间结点】

给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。[3,4,5]链表只有一个中间结点,值为 3输入:head = [1,2,3,4,5,6]输出:[4,5,6]解释:该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。链表的结点数范围是 [1, 100]

lucky_1314520的博客 556

[面试]SoC验证工程师面试常见问题(三)

SoC 验证工程师面试中,SystemVerilog、UVM 和 SystemC 的代码题目通常涵盖面向对象编程、约束随机化、UVM 组件设计、内存建模等主题。通过练习上述示例题目和理解关键点,你可以更好地应对现场编码环节。如果有具体的面试方向(如特定协议验证)或公司偏好,可以提供更多信息,我会进一步定制题目和答案。祝你面试顺利!

元直的博客 1614

LeetCode每日一题———876. 链表的中间结点

今天的题很简单了,我的思路就是遍历两次,第一次记录长度,第二次遍历到一半就就行,直接贴代码了 时间复杂度:O(N),其中 N 是给定链表的结点数目。 空间复杂度:O(1),只需要常数空间存放变量和指针。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *n...

qq_36202348的博客 210

Innovus实战:5分钟搞定postRoute阶段冗余hold buffer的自动清理(附PHC识别技巧)

本文分享了在数字IC后端设计中使用Innovus工具,于postRoute阶段自动清理冗余hold buffer的实战技巧。通过配置时序感知的面积回收模式,可在5分钟内安全移除非关键路径上的PHC缓冲器,有效优化芯片面积与功耗,并附有PHC识别与验证方法。

moon9的博客 398

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1157

LeetCode每日一题:链表的中间结点(No.876)

题目:链表的中间结点 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点 复制代码 示例: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val ...

weixin_34026484的博客 121

MAVEN教程-第一篇:MAVEN基础入门

MAVEN基础入门摘要 Maven是Java项目自动化构建工具,核心解决依赖管理(自动下载JAR包)、标准化构建流程(统一目录结构)和插件扩展问题。安装需配置环境变量(MAVEN_HOME),通过mvn -v验证。使用archetype:generate命令快速生成项目,标准结构包含src/main/java(主代码)和pom.xml(配置依赖/插件)。关键操作:mvn compile编译代码,mvn exec:java运行主类。POM文件定义项目元数据(如groupId)、依赖(如JUnit)和构建插件(

无 231

【坚持每日一题6.11】876. 链表的中间结点

给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.nex

kangbin825的专栏 122

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

力扣2020春季每日一题 -876题 链表的中间结点

2020年3月23日。 题出处:点击此处 考点:链表的遍历,快慢指针的运用。 题解: 1.本道题要求删除链表的中间节点。很明显,最暴力的解法就是二次遍历。 时间复杂度为O(n),空间复杂度为O(1) 这是只要学过链表的人,都应该掌握的。 2.本道题应该学会的一种思想为快慢指针。 即在链表中存在双指针,一快一慢。 在这道题中快指针一次走两步,而慢指针一次走一步。 为什么这样能work? 因为当快指针...

安洁莉娅丶的博客 247

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

每日一题 876链表的中间结点(快慢指针)

该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。如果有两个中间结点,则返回第二个中间结点。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。

fffffall的博客 102

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

A.每日一题:876. 链表的中间结点+2130. 链表最大孪生和

A.每日一题:2130. 链表最大孪生和解析

要努力去发光,而不是被照亮~ 107

Leetcode 876. 链表的中间结点 (每日一题 20210918)

给定一个头结点为 head的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.ne...

BUPT-WT的博客 146

每日一题——力扣876. 链表的中间结点(举一反三+思想解读+逐步优化)

这段代码是一个高效的解决方案,它正确地实现了在单链表中找到中间节点的功能。时间复杂度为O(N),空间复杂度为O(1),符合解决此类问题的最佳实践。不过,代码的循环条件和指针移动逻辑可以稍作优化,以提高代码的可读性。例如,可以使用显式的循环条件,并将precede指针的移动逻辑封装到一个单独的函数中,以提高代码的模块化和清晰度。

weixin_44915521的博客 1245

LeetCode每日一练 —— 876. 链表的中间结点

leetcode 876. 链表的中间结点

Edison's 小宇宙 9818

LeetCode每日精进:876.链表的中间结点

只要结点不为空,size就自增一,跳出循环时,size则为链表结点个数。该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。如果有两个中间结点,则返回第二个中间结点。循环条件为fast的next指针不能为空。定义slow和fast指针,并。再次遍历,获得中间结点位置。循环条件为fast不能为空。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。

ll778811的博客 795

【每日OJ题 —— 876. 链表的中间结点(链表)】

每日OJ题 —— 876. 链表的中间结点(链表)

qq_73900397的博客 361

python学习leetcode每日一题——链表的中间结点

876. 链表的中间结点 题目: 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.va...

skila 852

力扣---LeetCode876. 链表的中间结点

第六弹 --- 力扣LeetCode每日一题

小沈.的博客 584

[每日一题] 158. 链表的中间结点(快慢指针、常规解法)

文章目录1. 题目来源2. 题目说明3. 题目解析方法一:快慢指针+常规解法 1. 题目来源 链接:876. 链表的中间结点 来源:LeetCode 2. 题目说明 3. 题目解析 方法一:快慢指针+常规解法 所以就简单的快慢指针吗??? 参见代码如下: // 执行用时 :0 ms, 在所有 C++ 提交中击败了100.00%的用户 // 内存消耗 :8 MB, 在所有 C++ 提交中击败了10...

Y-puyu 的博客 313

LeetCode刷题876-简单-链表的中间结点

LeetCode刷题876-简单-链表的中间结点

布小禅的博客 504
上一篇: 每日一题-724. 寻找数组的中心下标
下一篇: 每日一题-142. 环形链表 II
爪哇玛咖
博客等级 码龄9年 6粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值