独特的二叉搜索树,leetcode 术语
Unique binary search trees, leetcode terminology
我正在查看要求枚举所有唯一二叉搜索树的 leetcode 问题 (https://leetcode.com/problems/unique-binary-search-trees-ii/)。他们将每棵树编码为一个数组。但是,我不知道如何从树到数组。对于 n=3,我们得到树:
以及对应的数组:
[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]
完全不知道他们打算如何将树映射到相应的数组。例如,在第一棵树中,它们从 1 开始。但是,它们一直向下到叶子 2,最后到达 3。
我猜数组的顺序与树的顺序不同。
从左到右从0到4给树编号,数组代表的树应该是:
[1, 0, 2, 4, 3]
我不完全确定如何为具有更大深度的树完成此操作,但我想这可能是明确的,因为它是一棵搜索树。
所以后面一个节点值是左右子节点的值,如果有none则为null。省略所有尾随空值。
这有意义吗?
我正在查看要求枚举所有唯一二叉搜索树的 leetcode 问题 (https://leetcode.com/problems/unique-binary-search-trees-ii/)。他们将每棵树编码为一个数组。但是,我不知道如何从树到数组。对于 n=3,我们得到树:
以及对应的数组:
[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]
完全不知道他们打算如何将树映射到相应的数组。例如,在第一棵树中,它们从 1 开始。但是,它们一直向下到叶子 2,最后到达 3。
我猜数组的顺序与树的顺序不同。
从左到右从0到4给树编号,数组代表的树应该是:
[1, 0, 2, 4, 3]
我不完全确定如何为具有更大深度的树完成此操作,但我想这可能是明确的,因为它是一棵搜索树。 所以后面一个节点值是左右子节点的值,如果有none则为null。省略所有尾随空值。 这有意义吗?