nyoj756 重建二叉樹

2021-08-05 23:30:16 字數 1138 閱讀 4776

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

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

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

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

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

樣例輸入

acbfged abcdefg

cdab cbad

樣例輸出

dbacegf

bcad

**原創

上傳者tc_黃平

都是先建立二叉樹,再先序輸出

#include#includestruct  node

};void buildtree(node *&root,char *post,char *in,int len)

root=new node();

root->data =post[len-1];

char *s=strchr(in,root->data);

int leftlen=strlen(in)-strlen(s);

int rightlen=len-leftlen-1;

buildtree(root->left ,post,in,leftlen);

buildtree(root->right ,post+leftlen,s+1,rightlen);

} void preorder(node *root)

int main()

return 0;

}

這個是不用建立二叉樹,用陣列儲存每次查到的節點,最後輸出。

#include#includevoid buildtree(char *pre,char *post,char *in,int len)						//而post是要從post+n開始考慮的,但不考慮b在陣列的個數了,即少了b這個元素,陣列長度長度-1. 

int main()

return 0;

}

nyoj 756 重建二叉樹

時間限制 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 重建二叉...