OD统一考试(B卷)寻找链表的中间结点

华为 OD 机试【4 大宝典】再次上新题!

① Python 解华为机试题 :https://dream.blog.csdn.net/article/details/129221789
② C++ 解华为机试题:https://dream.blog.csdn.net/article/details/129472919
③ Java 解华为机试题:https://dream.blog.csdn.net/article/details/129652513
④ C 解华为机试题:https://dream.blog.csdn.net/article/details/129658432

本篇题解:寻找链表的中间结点

题目

给定一个单链表 L,请编写程序输出 L 中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。 例如:给定 L 为 1→7→5,则输出应该为 7;给定 L 为 1→2→3→4,则输出应该为 3

输入

每个输入包含 11 个测试用例。 每个测试用例第 11 行给出链表首结点的地址、结点总个数正整数 N(N≤105)。结点的地址是 55 位非负整数,NULL 地址用 −1 表示。

接下来有 N 行,每行格式为:

Address Data Next 其中 Address 是结点地址,Data 是该结点保存的整数数据(0≤Data≤108),Next 是下一结点的地址。

输出

对每个测试用例,在一行中输出L 中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。

备注

已确保输入的结点所构成的链表 L 不会成环,但会存在部分输入结点不属于链表 L 情况 。

题解地址 📤

华为 OD 机试

华为 od 机试的题目类型主要有以下几种:

简单的编程题:考察基本的编程语言知识和语法,如变量、循环、条件判断、函数等。 数据结构设计题:考察对常用的数据结构如数组、链表、栈、队列、树、图等的理解和应用,如创建、遍历、查找、排序、修改等。 算法设计题:考察对常用的算法如递归、分治、贪心、动态规划、回溯、搜索等的理解和应用,如求解最优化问题、组合问题、排列问题等。 编程和调试题:考察在给定的代码框架下,能否快速分析问题和解决问题,如修复代码错误、优化代码性能、增加代码功能等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章