我被要求从数组构建一个树,其中每个元素包含节点的数据和树中节点的级别。该数组是节点的前序遍历。
我认为我的解决方案是错误的(或者至少不是最佳方式)但我不确定为什么以及正确的解决方案是什么。
我的方法是在第一次调用函数时从级别0开始,然后循环遍历数组,当我发现任何级别比当前递归调用的级别高1时,我做一个递归调用从该元素的索引处开始的数组和增量级别。然后,递归调用的结果将是孩子。
我还检查数组中元素的级别是否等于当前递归调用的级别 - 如果是这样的话,我就会突破循环,因为它会是我的兄弟,我不想返回我的兄弟姐妹,因为我的父母将在另一个递归电话中处理这个问题。
这有什么意义吗?我需要改变什么才能正确回答这个问题?