如何从 Leetcode 值列表构造二叉树?

时间:2021-04-29 19:46:37

标签: algorithm

对于以下问题:

enter image description here

输出/正确结果指定为:

 Output: [3,9,20,null,null,15,7]

我不确定该输出实际代表什么。我试图按级别扫描它。例如 3 是根,那么它的孩子是 9 和 20(这不起作用)。那么真正的树是什么?

1 个答案:

答案 0 :(得分:2)

这就是二叉树的表示方式。

输出是节点列表,其中对于节点 i(从索引 0 开始),节点 2*i+1 是其左子节点,节点 2*i+2 是其右子节点。因此,如果这些节点不存在,则列表中的相应值表示为 NULL

在这种情况下,节点 0 的值为 3,其左子节点显示在节点 1 (Output[1]) 中,值为 9,而其右子节点显示在节点 2 (Output[2] ) 值为 20。

但是,节点 2(Output[2] 的值为 20)没有任何子节点,因此与其子节点(Output[3]Output[4])对应的值显示为 Null .

相关问题