時間限制: 1 sec 記憶體限制: 32 mb
提交: 16 解決: 10
[提交][狀態][討論版]
兩個字串,其長度n均小於等於26。
第一行為前序遍歷,第二行為中序遍歷。
二叉樹中的結點名稱以大寫字母表示:a,b,c....最多26個結點。
輸入樣例可能有多組,對於每組測試樣例,
輸出一行,為後序遍歷的字串。
abc cba abcdefg dcbaefg
cba dcbgfea
資料結構高分筆記
[提交][狀態][討論版]
心得:找遞迴定義
1、找到前序遍歷s1的頭結點,是根節點;
2、在s2中找到s1的頭結點,並記錄它的位置;
3、在s1中向左找左子樹的根節點,再在s2中找到左子樹的頭結點的位置;
4、在s2中向右找右子樹的根節點,再在s2中找右子樹的頭結點的位置;
(3,4即遞迴在左右子樹中找根節點,當兩個節點間的距離==0時結束)。
#include#include#includeusing namespace std;
struct node;
typedef struct node* bt;
char s1[120],s2[120],s3[120];
int cnt;
bt f(int pre,int mid,int l) //注意l不是字串的長度
void postorder(bt t,char* ss)
int main(void)
return 0;
}
參考文章: 前序中序後序
遍歷情況 前序 根結點 左子樹 右子樹 中序 左子樹 根結點 右子樹 後序 左子樹 右子樹 根結點 例題一 輸入描述 input description 輸入檔案共2行,第一行表示該樹的前序遍歷結果,第二行表示該樹的後序遍歷結果。輸入的字符集合為,長度不超過26。輸出描述 output descri...
層序加中序轉前序和後序
凡是樹,首先要考慮能不能用遞迴的方法來做 比如 層序 1 2 3 4 5 6 7 中序 4 2 5 1 6 3 7 1必定是根節點,在中序中查詢位置,中序中的1將中序分為左右子樹,我們用v1儲存左子樹的節點,然後層序中從第二個節點開始按照層序的順序依次進入v2,v3 v2,v3分別是左子樹和右子樹的...
前序中序求後序 後序中序求前序層次 模板
這是資料結構的知識。剛開始先拒絕用指標去寫。當我把這個想法和別人分享是,別人說不喜歡用指標的程式設計師不是乙個好的c c 程式設計師。所以,就有了這麼勵志的時刻,我參考大牛的 自己用指標寫了個遍,直接1a 不用指標總是出現各種想不到的錯誤。心累。orz.include include include...