已知某二叉树的某两种遍历序列,求另一种遍历序列面试题解法总结(转)

来源:互联网 发布:windows server 版本 编辑:程序博客网 时间:2024/05/01 22:40

某二叉树的后序遍历序列为dabec,中序遍历序列为debac,则前序遍历序列为 。
A、acbed
B、 decab
C、 deabc
D、 cedba

解法如下:

先在两种遍历序列中找临近的两个或三个字符(内容相同,但顺序可能相同或者不同),如上例,从右向左找,先找出的是ab,根据后序和中序,可还原一棵子树是b是左孩子,a是根结点,然后把还原的这棵子树作为一个新的整体,再按照刚才同样的规则与其他字符结合,进一步还原成一个更大的子树,最终还原成一棵完整的树。就可求出另一种遍历序列。

原创粉丝点击