您的位置:首页 > 其它

P1030 求先序排列

2017-03-24 19:58 148 查看

题目描述

给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。

输入格式:

2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。

输出格式:

1行,表示一棵二叉树的先序。

输入样例#1:

BADC

BDCA

输出样例#1:

ABCD

思路

一棵树的后序遍历中的最后一位就是根结点,而中序遍历中根结点的左右两边就是左右子树上的结点。按照这个规律就行了。


var
a,b:string;
procedure f(x,y:string);
var
p:longint;
begin
if length(x)=0 then exit;
write(y[length(y)]);
p:=pos(y[length(y)],x);
f(copy(x,1,p-1),copy(y,1,p-1));
f(copy(x,p+1,length(x)-p),copy(y,p,length(y)-p));
end;
begin
readln(a);
readln(b);
f(a,b);
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: