特牛网址导航

已知中序遍历和层序遍历重构树_已知层序遍历和中序遍历-CSDN博客

网友收藏
文章浏览阅读917次,点赞7次,收藏7次。问题描述:已知一棵树的层序遍历结果是1 2 3 4 5 6 7;中序遍历结果是6 4 2 5 7 1 3,那么如何重构这颗树呢?求解思路:层序遍历和前中后遍历不同的一点在于左右子树的结点是混合出现的因此在递归建树的过程中关键的一点就是将左右子树分割出来算法设计首先需要知道层次排序第一个出现的是根结点然后在中序序列中找根结点的位置,记录到k中,那么其左边的结点属于左子树,右边的结点属于右子树接下来遍历levelorder数组,对于每个数字,判断其是否在左子树中,即(是否在inorder_已知层序遍历和中序遍历