1339:【例3-4】求后序遍历

简介: 1339:【例3-4】求后序遍历

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。

【输入】

共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。

【输出】

一行,表示树的后序遍历序列。

【输入样例】

abdec

dbeac

【输出样例】

debca

1. #include <iostream>
2. #include <cstdio>
3. #include <cstring>
4. #include <algorithm>
5. using namespace std;
6. string s1,s2;
7. void build(int l1,int r1,int l2,int r2){
8.  int m=s2.find(s1[l1]);
9.  if(m>l2) build(l1+1,l1-+m-l2,l2,m-1);
10.   if(m<r2) build(l1+m-l2+1,r1,m+1,r2);
11.   cout<<s1[l1];
12. }
13. int main()
14. {
15.   cin>>s1>>s2;
16.   build(0,s1.length()-1,0,s2.length()-1);
17. return 0;
18. }


相关文章
|
4月前
二叉树的前序遍历、中序遍历、后序遍历
二叉树的前序遍历、中序遍历、后序遍历
|
4月前
|
存储
什么?二叉树的反前序遍历?
什么?二叉树的反前序遍历?
|
4月前
|
算法
二叉树中序遍历(一)
二叉树中序遍历(一)
|
4月前
二叉树的中序遍历
二叉树的中序遍历
25 0
|
4月前
|
C++
二叉树的前序遍历(C++)
二叉树的前序遍历(C++)
40 0
二叉树的前序遍历(C++)
|
4月前
|
C++
二叉树的后序遍历(C++)
二叉树的后序遍历(C++)
34 0
|
4月前
二叉树的前、中、后序遍历的实现
二叉树的前、中、后序遍历的实现