華為機試練習題 33 二叉搜尋樹

2021-09-23 22:56:22 字數 1697 閱讀 7750

題目

描述:

判斷兩序列是否為同一二叉搜尋樹序列
題目類別:

難度:

中級
執行時間限制:

10sec
記憶體限制:

128mbyte
階段:

入職前練習
輸入:

開始乙個數n,(1<=n<=20) 表示有n個需要判斷,n= 0 的時候輸入結束。

接下去一行是乙個序列,序列長度小於10,包含(0~9)的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。

接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組成同一顆二叉搜尋樹。

輸出:

如果序列相同則輸出yes,否則輸出no
樣例輸入:

2

567432

543267

576342

0

樣例輸出:

yes

no

**

/*---------------------------------------

* 日期:2015-07-01

* 題目:二叉搜尋樹

-----------------------------------------*/

#include

#include

#include

#include

#include

using

namespace

std;

struct treenode

};// 往查詢二叉樹中插入節點

void inserttree(treenode*& root,char val)//if

// 尋找插入位置

treenode* pre = null;

treenode* p = root;

while(p)//if

// 沿右子樹下降

else//else

}//while

// 插入作為左子結點

if(pre->val > val)//if

// 插入作為右子結點

else//else

}// 建立查詢二叉樹

treenode* createtree(string str)//if

for(int i = 0;i < size;++i)//for

return root;

}// 先序遍歷

void preorder(treenode* root,string &result)//if

result += root->val;

preorder(root->left,result);

preorder(root->right,result);

}int main()//for

}//while

return

0;}

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

題目 題目類別 樹 難度 中級 執行時間限制 無限制 記憶體限制 無限制 階段 入職前練習 輸入 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 a,b,c 最多26個結點。輸出 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串...

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

題目 題目類別 樹 難度 中級 執行時間限制 無限制 記憶體限制 無限制 階段 入職前練習 輸入 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 a,b,c 最多26個結點。輸出 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串...

華為機試練習題1

題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以後4個空瓶子,用3個再換一瓶,喝掉這瓶滿的,這時候剩2個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以...