华为OD机试 -数组二叉树(Java) | 机试题+算法思路+考点+代码解析 【2023】

news/2024/5/19 8:56:13 标签: 算法, 华为, 数据结构, java, od

数组二叉树

题目

二叉树也可以用数组来存储,给定一个数组,树的根节点的值存储在下标1,对于存储在下标N的节点,它的左子节点和右子节点分别存储在下标2N和2N+1,并且我们用值-1代表一个节点为空。

给定一个数组存储的二叉树,试求从根节点到最小的叶子节点的路径,路径由节点的值组成。

输入描述:

输入一行为数组的内容,数组的每个元素都是正整数,元素间用空格分隔。注意第一个元素即为根节点的值,即数组的第N个元素对应下标N,下标0在树的表示中没有使用,所以我们省略了。输入的树最多为7层。

输出描述:

输出从根节点到最小叶子节点的路径上,各个节点的值,由空格分隔,用例保证最小叶子节点只有一个。

示例1

输入

ode>3 5 7 -1 -1 2 4
ode>

输出

ode>3 7 2
ode>

说明

数组存储的二叉树如图,故到最小叶子节点的路径为3 7 2

示例2

输入

ode>5 9 8 -1 -1 7 -1 -1 -1 -1 -1 6
ode>

输出

ode>5 8 7 6
ode>

说明

数组存储的二叉树如图,故到最小叶子节点的路径为10 8 7 6,注意数组仅存储至最后一个非空节点,故不包含节点“7”右子节点的-1


http://www.niftyadmin.cn/n/147119.html

相关文章

无线WiFi安全渗透与攻防(七)之WIFI07-WEP-wifite自动化渗透WEP加密

WIFI07-WEP-wifite自动化渗透WEP加密 1.wifite介绍 wifite是一款自动化wep、wpa以及wps破解工具,不支持windows和osx。wifite的特点是可以同时攻击多个采用wep和wpa加密的网络。wifite只需简单的配置即可自动化运行,期间无需人工干预。 目前支持任何li…

windows 批量去除文件名中的括号 空格 重命名 获取文件夹中文件名

Windows 平台 批量去除文件名中的括号 空格 重命名 获取文件夹中文件名 目录 1.获取文件夹中文件名 2.批量去除文件名中的括号 3.批量去除文件名中的空格: 4.批量重命名: 1.获取文件夹中文件名 运行CMD调出DOS窗口,先用“CD C:\XXX&quo…

关于nextInt和nextLine使用中的一些冲突

nextInt和nextLine方法发生了冲突 Scanner类是是用来接收控制台输入的字符串以及基本数据类型的类 常用方法: 1.int nextInt(): 接收输入的int型的数据。 结束符为空格或者回车2.String nextLine() 接收输入的是字符串的数据 结束符为回车 3.String next(): 接收输入的字符串…

CANoe入门系列--用CAPL实现简单的开关灯

CANoe入门系列 简单的开关灯实现CANoe入门系列一、创建新的项目二、通过DBC创建节点搭建画布 Panel配置环境变量使用CAPL编程使信号传输运行一、创建新的项目 双击选择CANFD500kBaud/4MBaud 新建页面如下 二、通过DBC创建节点 选择dbc的存放位置 右击Network nodes&#xf…

[计算机组成原理(谭志虎 微课版)]第一章 计算机系统概述(课后习题[习题1]+答案解析)

1.1 解释下列名词。 摩尔定律: 当价格不变时,集成电路上可容纳的晶体管数量大约18-24个月翻一番,性能也将提升一倍。 汇编器: 负责将汇编语言翻译成机器语言目标程序的汇编程序 编译器: 负责将高级语言翻译成汇编代码…

C# 程序加载C++DLL错误集锦及解决

抛出问题 C#项目要采用第三方的方案实现某个功能,第三方提供了一个C实现的库Dll库。然鹅,在实现的过程中遇到一系列的问题,最后都搞懂了,现分享下过程,主要问题总结如下: 1、System.DllNotFoundException…

STM32实现UART-CAN融合式高速串口

STM32实现UART-CAN融合式高速串口 STM32的UART硬件电路,在进行线接传输时,一般低于230400bps的波特率,因为单端信号传输的特性,限制了传输距离和传输速度。而在同一块PCB板內进行短距离UART传输,则可以达到2Mbps及至4…

底层原理计划--Java性能优化(详解)

引起Java性能问题的常见原因之一是过多地创建临时对象 1、有效使用内存 精简业务流程,减少不必要的环节 按需创建对象,不要提前创建 重复的运算,考虑将结果转过变量(即方法的封装) 高频度使用的对象,单独处理使重复使用 2、高效…