【例3-4】求后序遍历
链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1339 时间限制: 1000 ms 内存限制: 65536 KB【题目描述】
输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。
【输入】
共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。
【输出】
一行,表示树的后序遍历序列。
【输入样例】
abdecdbeac
【输出样例】
debca
#include#include #include #include #include using namespace std;vector pre,in,post;int i;void rec(int l,int r){ if(l>=r)return ; int m=distance(in.begin(),find(in.begin(), in.end(), pre[i++])); rec(l,m); rec(m+1,r); post.push_back(in[m]);}int main(){ string s1,s2; cin>>s1>>s2; for(int i=0;i