由中序遍历和后序遍历求前序遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由中序遍历和后序遍历求前序遍历相关的知识,希望对你有一定的参考价值。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <algorithm>
 5 using namespace std;
 6 typedef long long LL;
 7 const int maxn = 30;
 8 char in[maxn], post[maxn];
 9 void Build_PostTree(char *in, char *post, int len)
10 {
11     if(len == 0) return;
12     cout << *(post + len - 1);
13     int i = 0;
14     for( ; i < len; i++)
15         if(in[i] == *(post + len - 1)) break;
16     Build_PostTree(in, post, i); //Left
17     Build_PostTree(in + i + 1, post + i, len - i - 1); // Right
18     return ;
19 }
20 int main()
21 {
22     freopen("in.txt","r",stdin);
23     while(scanf("%s %s", in, post) != EOF){
24         int len = strlen(post);
25         Build_PostTree(in, post, len);
26         cout << endl;
27     }
28     return 0;
29 }

 

以上是关于由中序遍历和后序遍历求前序遍历的主要内容,如果未能解决你的问题,请参考以下文章

如何根据中序遍历和后序遍历求前序遍历

[复试机试]已知中序遍历和后序遍历,求前序遍历

已知前序中序求后续;已知中序后序求前序;

中序遍历、前序遍历和后序遍历

树的遍历(前序中序求后序,后序中序求前序)

已知二叉树的中序序列和后序序列,怎么求前序序列