AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3900. 寻找链表的中间节点

简单通过率 74% · 提交 307 · 通过 226
链表双指针哈希表

小慕在项目中维护了一个L,现在需要编写程序输出L保存的数据。 如果有两个中间节点,则输出第二个中间节点保存的数据。 例如: 给定L为1→7→5,则输出应该为7; 给定L为1→2→3→4,则输出应该为3。

提示:带虚线的词点一下有通俗解释。

输入描述

<div class="ace-line ace-line old-record-id-TCAlddhRWoUGujxYJHTc7clVnfh" style="white-space:pre-wrap;"> 每个输入包含<code>1</code>个测试用例。每个测试用例第一行给出链表首节点的地址、节点总个数为正整数<code>N</code> (<code>N≤105</code>)。 </div> <div class="ace-line ace-line old-record-id-TOQ1dC3a2oLf8Zxo46fcWmOXnTe" style="white-space:pre-wrap;"> 节点的地址是<code>5</code>位非负整数,<code>NULL</code>地址用<code>-1</code>表示。 </div> <div class="ace-line ace-line old-record-id-TwBxdtagao9KCex5R3Mca3NEnCZ" style="white-space:pre-wrap;"> 接下来有<code>N</code>行,每行格式为: </div> <div class="ace-line ace-line old-record-id-R4VYdpVPVobGDhxjnS6cPEcqnjq" style="white-space:pre-wrap;"> <code>Address</code> <code>Data</code> <code>Next</code> </div> <div class="ace-line ace-line old-record-id-XLxDdrMMPotBf9xz0LSce2Hxnjb" style="white-space:pre-wrap;"> 其中<code>Adress</code>是节点地址,<code>Data</code>是该节点保存的 整数数据,<code>Next</code>是下一个节点的地址。 </div>

输出描述

<div class="ace-line ace-line old-record-id-Y1s7d6xO7oRgclx1TpXcKR6Dnuf" style="white-space:pre-wrap;"> 对每个测试用例,在一行中输出<code>L</code>中间节点保存的数据。 </div> <div class="ace-line ace-line old-record-id-J2VYdlt3rovmPEx7KH2ceYSjnPd" style="white-space:pre-wrap;"> 如果有两个中间节点,则输出第二个中间节点保存的数据。 </div> <div class="ace-line ace-line old-record-id-FyCedQa8Oo0CLrxjXAccqhFan1g" style="white-space:pre-wrap;"> 补充说明: </div> <div class="ace-line ace-line old-record-id-C662dq48Po9cfvxZLplcTjB1n9c" style="white-space:pre-wrap;"> 以确保输入的节点所构成的链表<code>L</code>不会成环,但会存在部分输入节点不属于链表<code>L</code>的情况 </div>

示例

示例 1

输入

00100 4
00000 4 -1
00100 1 12309
33218 3 00000
12309 2 33218

输出

3

说明:链表为 1->2->3->4,中间节点为3

示例 2

输入

10000 3
76892 7 12309
12309 5 -1
10000 1 76892

输出

7

说明:链表为 1->7->5,中间节点为7

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
寻找链表的中间节点 示例1: 1 → 7 → 5 1 7 中间节点 5 示例2: 1 → 2 → 3 → 4 1 2 3 第二个中间节点 4
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「寻找链表的中间节点」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。