华为OD机试 Python 【创建二叉树】

题目

请按照以下步骤,构建一个二叉树,并返回它的根节点。

开始时,建立一个值为-1的根节点。这是第0层。
根据操作列表operations,逐一添加节点。列表中的每个操作[height, index]表示:
height:节点所在层
index:节点在该层的位置(从0开始)
添加规则如下:

如果目标节点没有左子节点,添加一个新的子节点到左边。
如果目标节点有左子节点但没有右子节点,添加一个新的子节点到右边。
如果目标节点已经有左右子节点,就不添加。
注意点:

输入保证操作中的节点始终存在。
最后的输出是一个按层次遍历的节点值列表,可能包含null来表示空节点。

示例:
输入:
[[0, 0], [0, 0], [1, 1], [1, 0], [0, 0]]
输出:
[-1, 0, 1, 3, null, 2]

代码

class TreeNode:
    def __init__(self, value

你可能感兴趣的:(华为od,python,算法,华为机试)