PAT1020
题意:给出一颗二叉树的中序和后序遍历,让你输出层序遍历,给出的值都是互不相等的正整数。
思路:因为后序的最后一个总是根结点,令i在中序中找到该根结点,则i把中序分为两部分,左边是左子树,右边是右子树,于是可以递归地去处理。在递归的过程中加一个标记用于重新排序,按照层序重新排序后输出即可
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
struct node
{
int index;
int val;
};
bool cmp(node a, node b)
{
return a.index<b.index;
}
vector<int> post