0

我被要求从一个数组构建一棵树,其中每个元素都包含节点的数据和树中节点的级别。该数组是节点的前序遍历。

我认为我的解决方案是错误的(或者至少不是最好的解决方案),但我不确定为什么以及正确的解决方案是什么。

我的方法是在第一次调用函数时从级别 0 开始,然后循环遍历数组,当我发现任何级别恰好比当前递归调用中的级别大 1 时,我进行递归调用从该元素的索引和增量级别开始的数组。然后,该递归调用的结果将是孩子。

我还检查数组中元素的级别是否等于当前递归调用中的级别 - 如果是,我会跳出循环,因为它将是我的兄弟姐妹,我不想返回我的兄弟姐妹,因为我的parent 将在另一个递归调用中处理该问题。

这有任何意义吗?我需要改变什么才能正确回答这个问题?

4

0 回答 0