題目
題目類別: 樹
難度: 中級
執行時間限制: 無限制
記憶體限制: 無限制
階段: 入職前練習
輸入:
兩個字串,其長度n均小於等於26。
第一行為前序遍歷,第二行為中序遍歷。
二叉樹中的結點名稱以大寫字母表示:a,b,c….最多26個結點。
輸出:
輸入樣例可能有多組,對於每組測試樣例,
輸出一行,為後序遍歷的字串。
樣例輸入:
abc
bac
fdxeag
xdefag
樣例輸出:
bca
xedgaf
**
/*---------------------------------------
* 日期:2015-06-29
* 題目:二叉樹遍歷
-----------------------------------------*/
#include
#include
#include
#include
using
namespace
std;
struct treenode
};treenode* preinbuildtree(string preorder,string inorder,int preindex,int inindex,int size)//if
// 根節點
treenode* root = new treenode(preorder[preindex]);
// 尋找根節點在中序遍歷陣列的下標
int index = 0;
for(int i = 0;i < size;++i)//if
}//for
// 左子樹個數
int leftsize = index - inindex;
// 右子樹個數
int rightsize = size - leftsize - 1;
// 左子樹
root->left = preinbuildtree(preorder,inorder,preindex+1,inindex,leftsize);
// 右子樹
root->right = preinbuildtree(preorder,inorder,preindex+1+leftsize,index+1,rightsize);
return root;
}treenode *buildtree(string preorder,string inorder)//if
return preinbuildtree(preorder,inorder,0,0,size);
}void postorder(treenode* root)//if
}int main()
華為機試練習題 10 二叉樹遍歷
題目 題目類別 樹 難度 中級 執行時間限制 無限制 記憶體限制 無限制 階段 入職前練習 輸入 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 a,b,c 最多26個結點。輸出 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串...
華為機試練習題 33 二叉搜尋樹
題目 描述 判斷兩序列是否為同一二叉搜尋樹序列題目類別 樹難度 中級執行時間限制 10sec記憶體限制 128mbyte階段 入職前練習輸入 開始乙個數n,1 n 20 表示有n個需要判斷,n 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含 0 9 的數字,沒有重複數字,根據這個序...
華為機試練習題1
題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以...