NYOJ 題目756 重建二叉樹

2021-06-26 06:15:39 字數 826 閱讀 6165

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

題目很簡單,給你一棵二叉樹的後序和中序序列,求出它的前序序列(so easy!)。

輸入輸入有多組資料(少於100組),以檔案結尾結束。

每組資料僅一行,包括兩個字串,中間用空格隔開,分別表示二叉樹的後序和中序序列(字串長度小於26,輸入資料保證合法)。

輸出每組輸出資料單獨佔一行,輸出對應得先序序列。

樣例輸入

acbfged abcdefg

cdab cbad

樣例輸出

dbacegf

bcad

由後序遍歷和中序遍歷來推導出先序遍歷。在做這樣的題時,得勤用紙和筆,將各序列的縮圖畫出來,這樣就把思路開拓了。

先序遍歷: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 重建二叉...