创建二叉树【华为OD机试 2023 Q1考试题 A卷】

【创建二叉树】

请按下列描达构建一颗二叉树,并返回该树的根节点:

1、先创建值为-1的根结点,根节点在第0层;

2、然后根据operations依次添加节点: operations[i] = [height, index] 表示对第 height 层的第index 个节点node, 添加值为i 的子节点:

若node 无「左子节点」。则添加左子节点;
若node 有「左子节点」但无「右子节点」,则添加右子节点:
否则不作任何处理。

height、index 均从0开始计数;index 指所在层的创建顺序。

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

operations=[[0, 0], [0, 0], [1, 1], [1, 0], [0, 0]]
输出

[-1, 0, 1, 3, null, 2]
示例2 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

operations=[[0, 0], [1, 0], [1, 0], [2, 1], [2, 1], [2, 1], [2, 0], [3, 1], [2, 0]]
输出

[-1, 0, null, 1, 2, 6, 8, 3, 4, null, null, null, null, null, null, 7]

Java

import java.util.*

猜你喜欢

转载自blog.csdn.net/weixin_54707168/article/details/129252036