【题目说明】树和二叉树基本上有先序、中序、后序、逐层扫描等扫描顺序,给出中序和其他扫描顺序可以确定一个二叉树的结构。
假设一棵树的一个节点是用一个字符描述的,现在给出按中序和逐层扫描的字符串,求出该树开头的扫描字符串。
【输入】两行。 每行是由字母构成的字符串,一行中的每个字符是唯一的。 分别表示二叉树的中顺扫描和逐层扫描的顺序。
【输出】一行表示二叉树的优先级序列。
【输入样品】DBEAC
ABCDE
【输出样品】ABDEC
【源程序】# include iostream # include cstdio # include cstring # include cmath # include algorithm # include string # includecstrion definepiacos(-1.0 ) definen 1001 # define mod 123 # define E1 e-6 usingnamespacestd; int len; char a[N],b[N]; voidpreorder(intleft,int right ) ) { int i,j; bool flag=false; for(I=0; ilen; I ) for(j=left; j=right; j () if ) b[I]==a[j] ) { couta[j]; flag=1; 布雷克; } if (标志) break; (if ) leftj ) preorder ) left,j-1; if(jright ) preorder ) j1,right; (}int main ) ) { cinab; len=Strlen(a; 预排序器(0,len-1 ); 返回0; }