题目描述
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。
输入输出格式
输入格式:
2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。
输出格式:
1行,表示一棵二叉树的先序。
输入输出样例
输入样例#1:
BADCBDCA
输出样例#1:
ABCD 【解析】 后序最后一个一定是根,找到根在中序中的位置,递归构建左右子树。 【代码】
#include#include #include #include using namespace std;string s1,s2;void calc(int l1,int r1,int l2,int r2){ cout< l1) calc(l1,m-1,l2,l2+m-l1-1); if (m >s1>>s2; calc(0,s1.length()-1,0,s2.length()-1); cout<