如果单纯的重建二叉树比较常见,但用编程实现还没有做过。不过用前序遍历和中序遍历重建二叉树规律还是比较简单的,应该不难。
扩展问题:
1. 如果节点上的字母是相同的,有可能结果不是唯一的,例如所有节点都用一个字母,那么任何形状的二叉树都是合理的。应该可以用动态规划的方法来求解。
2. 由于前序的第一个节点是根节点,从中序遍历里面找到这个根节点,然后从中序里看左右子树是否在前序里面是合理的。
3. 如果只知道前序和后序结果,可能会有歧义,所以不能唯一重构二叉树。
如果单纯的重建二叉树比较常见,但用编程实现还没有做过。不过用前序遍历和中序遍历重建二叉树规律还是比较简单的,应该不难。
扩展问题:
1. 如果节点上的字母是相同的,有可能结果不是唯一的,例如所有节点都用一个字母,那么任何形状的二叉树都是合理的。应该可以用动态规划的方法来求解。
2. 由于前序的第一个节点是根节点,从中序遍历里面找到这个根节点,然后从中序里看左右子树是否在前序里面是合理的。
3. 如果只知道前序和后序结果,可能会有歧义,所以不能唯一重构二叉树。