時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:3 描述
題目很簡單,給你一棵二叉樹的後序和中序序列,求出它的前序序列(so easy!)。
輸入輸入有多組資料(少於100組),以檔案結尾結束。
每組資料僅一行,包括兩個字串,中間用空格隔開,分別表示二叉樹的後序和中序序列(字串長度小於26,輸入資料保證合法)。
輸出每組輸出資料單獨佔一行,輸出對應得先序序列。
樣例輸入
acbfged abcdefgcdab cbad
樣例輸出
dbacegfbcad
由後序遍歷和中序遍歷來推導出先序遍歷。在做這樣的題時,得勤用紙和筆,將各序列的縮圖畫出來,這樣就把思路開拓了。
先序遍歷:r l r
中序遍歷:l r r
後序遍歷:l r r
#include #include #include #include using namespace std;
void build(int n,char* s1,char* s2,char* s)
int main(void)
{ // fstream cin("題目765.txt");
int n;
char s1[50],s2[50],ans[50];
while(cin>>s1>>s2)
{n=strlen(s1);
build(n,s1,s2,ans);
ans[n]='\0';
cout<
nyoj756 重建二叉樹
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 題目很簡單,給你一棵二叉樹的後序和中序序列,求出它的前序序列 so easy 輸入輸入有多組資料 少於100組 以檔案結尾結束。每組資料僅一行,包括兩個字串,中間用空格隔開,分別表示二叉樹的後序和中序序列 字串長度小於26,輸入...
nyoj 756 重建二叉樹
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 題目很簡單,給你一棵二叉樹的後序和中序序列,求出它的前序序列 so easy 輸入 輸入有多組資料 少於100組 以檔案結尾結束。每組資料僅一行,包括兩個字串,中間用空格隔開,分別表示二叉樹的後序和中序序列 字串長度小於26,輸...
nyoj221 nyoj756 重建二叉樹
nyoj221題目鏈結 已知二叉樹前序中序遍歷求二叉樹後序遍歷 已知二叉樹前序中序遍歷可重建二叉樹,進而遍歷後序。include include include struct node node rebuildtree char preorder,char midorder,int len 重建二叉...