time limit: 1000ms
memory limit: 65536kb
submit
statistic
problem description
已知一棵二叉樹的中序遍歷和後序遍歷,求二叉樹的先序遍歷
input
輸入資料有多組,第一行是乙個整數t (t<1000),代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的中序遍歷序列,第二個字串表示二叉樹的後序遍歷序列。
output
輸出二叉樹的先序遍歷序列
example input
2dbgeafc
dgebfca
lnixu
linux
example output
abdegcfxnliu
hint
author
gyx
#include using namespace std;
struct btree
;char mid[10010];//中序序列
char las[10010];//後序序列
struct btree* creat(int len, char *mid, char *las)//二叉樹的重建
root = new btree;
root -> data = las[len -1];//找到根節點(後序遍歷的最後一位)
for(i = 0; i < len; i++)//在中序序列中找到根節點的位置
root -> lc = creat(i, mid, las);//遞迴遍歷(左子樹的長度,左子樹在mid中開始位置的位址,左子樹在las中開始位置的位址)
root -> rc = creat(len-i-1, mid+i+1, las+i);//(右子樹的長度,右子樹在mid中開始位置的位址,右子樹在las中開始位置的位址)
return root;
};void dlr(struct btree *root)//前序遍歷
}int main()
}return 0;
}
求二叉樹的先序遍歷
time limit 1000ms memory limit 65536k 已知一棵二叉樹的中序遍歷和後序遍歷,求二叉樹的先序遍歷 輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的中序遍歷序列,第二個字串表示二叉樹的後序遍...
求二叉樹的先序遍歷
time limit 1000ms memory limit 65536k 有疑問?點這裡 已知一棵二叉樹的中序遍歷和後序遍歷,求二叉樹的先序遍歷 輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的中序遍歷序列,第二個字串表...
求二叉樹的先序遍歷
已知一棵二叉樹的中序遍歷和後序遍歷,求二叉樹的先序遍歷 輸入資料有多組,第一行是乙個整數t t 1000 代表有t組測試資料。每組包括兩個長度小於50 的字串,第乙個字串表示二叉樹的中序遍歷序列,第二個字串表示二叉樹的後序遍歷序列。輸出二叉樹的先序遍歷序列 2 dbgeafc dgebfca lni...