Algorithm 独特的二进制搜索树,leetcode术语
我正在看leetcode问题,它要求枚举所有唯一的二进制搜索树()。它们将每棵树编码为一个数组。但是,我不知道如何从树到阵列。对于n=3,我们得到树: 以及相应的阵列:Algorithm 独特的二进制搜索树,leetcode术语,algorithm,binary-tree,Algorithm,Binary Tree,我正在看leetcode问题,它要求枚举所有唯一的二进制搜索树()。它们将每棵树编码为一个数组。但是,我不知道如何从树到阵列。对于n=3,我们得到树: 以及相应的阵列: [[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]] 完全不知道他们打算如何将树映射到相应的数组。例如,在第一棵树中,它们从1开始。但是,它们一直向下延伸到叶子,最后到达3。我猜数组的顺序与树的顺序不同 将树从0到4从左到右编号,数组表
[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]
完全不知道他们打算如何将树映射到相应的数组。例如,在第一棵树中,它们从1开始。但是,它们一直向下延伸到叶子,最后到达3。我猜数组的顺序与树的顺序不同 将树从0到4从左到右编号,数组表示的树应为:
[1,0,2,4,3]
我不完全确定对于深度更大的树是如何做到这一点的,但我想这可能是明确的,因为这是一个搜索树。
因此,在一个节点值之后是左、右子节点的值,如果没有,则为null。省略所有尾随的空值。
这有意义吗?是的,有意义。你认为我们可以通过预序遍历从树到数组吗?