題目
描述:
判斷兩序列是否為同一二叉搜尋樹序列
題目類別:
樹
難度:
中級
執行時間限制:
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個空瓶子。然後你讓老闆先借給你一瓶汽水,喝掉這瓶滿的,喝完以...