華為機試練習題 10 二叉樹遍歷

2021-09-23 22:52:17 字數 1516 閱讀 2987

題目

題目類別: 樹

難度: 中級

執行時間限制: 無限制

記憶體限制: 無限制

階段: 入職前練習

輸入:

兩個字串,其長度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個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以...