news 2026/7/12 18:35:18

华为OD机试真题 新系统 2026-07-05 PythonJS 实现【二叉树两节点间的最小跳数】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD机试真题 新系统 2026-07-05 PythonJS 实现【二叉树两节点间的最小跳数】

目录

题目

思路

Code


题目

题目内容

给定一棵完全二叉树的层序遍历序列,用逗号分隔的节点值字符串表示,以及两个目标节点值 frm 和 to,求这两个节点之间的最小跳数,也就是最短路径经过的边数。

完全二叉树按数组下标表示,根节点索引为 0,索引为 i 的节点父节点索引为 (i-1)//2,左子节点索引为 2*i+1,右子节点索引为 2*i+2。

如果目标节点不存在,返回 -1。如果 frm 和 to 相同且节点存在,返回 0。树的节点不重名,节点数量范围公开页面仅能确认到 1 到 10^6。

输入描述

第一行输入字符串形式的层序遍历序列,节点值用逗号分隔,例如 1,2,3,4,5,6,7。

第二行输入起始节点值 frm。

第三行输入目标节点值 to。

输出描述

输出一个整数,表示从 frm 到 to 的最小跳数。如果任一节点不存在,输出 -1。如果 frm 等于 to 且节点存在,输出 0。

样例 1

输入

1,2,3

2

3

输出

2

说明

从节点 2 到节点 3,需要经过 2 到 1 再到 3,共 2 跳。

样例 2

输入

1,2,3,4,5,6,7

4

5

输出

2

说明

节点

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 18:30:40

maldev 终极指南:恶意软件开发技术深度解析与实践教程

maldev 终极指南:恶意软件开发技术深度解析与实践教程 【免费下载链接】maldev ⚠️ malware development 项目地址: https://gitcode.com/gh_mirrors/ma/maldev 在当今网络安全领域,理解恶意软件的工作原理对于防御者来说至关重要。maldev 项目提…

作者头像 李华
网站建设 2026/7/12 18:30:39

软件测试入门——第三十六课(性能测试之从用例设计到执行落地的完整方法论)

在数字化转型的浪潮中,软件系统的性能表现已成为决定用户体验和业务成败的关键因素。 性能测试不是简单的"压一压看能扛多少",而是一个严谨的工程过程。本文将分享一套经过实战检验的性能测试方法论,重点聚焦于测试用例设计和用例执行落地两个核心环节,帮助新人快…

作者头像 李华
网站建设 2026/7/12 18:29:36

Claude 与 ChatGPT:哪个更适合科研和学术写作,深入对比分析

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 使用大模型智能AI进行学术写作和科研已经成为学者、研究人员和高校…

作者头像 李华