标签:stdout ret img freopen 技术分享 hid 字母 style stream
【问题描述】
输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。
【输入格式】
输入文件为tree.in,共两行,第一行一个字符串,表示树的先序遍
历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写
字母表示。
【输出格式】
输出文件为tree.out,仅一行,表示树的后序遍历序列。
【样例输入】
abdec
dbeac
【样例输出】
debca
1 #include <cstring> 2 #include <iostream> 3 #include <cstdio> 4 using namespace std; 5 string s1, s2; 6 7 void calc(int l1, int r1, int l2, int r2) 8 { 9 int m = s2.find(s1[l1]); 10 if(m > l2) calc(l1 + 1, l1 + m - l2, l2, m - 1); 11 if(m < r2) calc(l1 + m - l2 + 1, r1, m + 1, r2); 12 cout << s1[l1]; 13 } 14 15 int main() 16 { 17 freopen("tree.in", "r", stdin); 18 freopen("tree.out", "w", stdout); 19 cin >> s1 >> s2; 20 calc(0, s1.length() - 1, 0, s2.length() - 1); 21 cout << endl; 22 return 0; 23 }
标签:stdout ret img freopen 技术分享 hid 字母 style stream
原文地址:http://www.cnblogs.com/Renyi-Fan/p/7468375.html