判斷兩序列是否為同一二叉搜尋樹序列
開始乙個數n,(1<=n<=20) 表示有n個需要判斷,n= 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含(0~9)的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。
接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組成同一顆二叉搜尋樹。
如果序列相同則輸出yes,否則輸出no
2567432
543267
576342
0
yes前序遍歷和中序遍歷可以唯一確定一棵二叉樹,對於二叉排序樹,相同元素的二叉排序樹中序遍歷一定相同,而不同元素二叉排序樹使用前序遍歷就可以發現不相同,所以只需要前序遍歷兩個二叉樹,比較兩者是否相同就可以判斷。no
#includeusing namespace std;
struct nodetree[1000];
int size = 0;
node * create()
node * build(node* tree, int x)else if(x > tree->x)else if(x < tree->x)
return tree;}
int count=0;
void preorder(node* tree, int a)
int main(){
int n;
while(cin >> n && n!=0){
string s;
cin >> s;
node* tree = null;
for(int i=0; i> s1;
for(int i=0; i關於二叉樹的問題還是挺容易出現的,對這個知識點掌握得還不好,繼續加油吧!ヾ(◍°∇°◍)ノ゙
浙大機試 二叉搜尋樹
題目描述 判斷兩序列是否為同一二叉搜尋樹序列 輸入描述 開始乙個數n,1 n 20 表示有n個需要判斷,n 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含 0 9 的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判...
王道機試指南 二叉樹與二叉搜尋樹
二叉樹題目鏈結二叉樹 題意 在乙個完全二叉樹中給出乙個子樹的根和樹的最後乙個結點,求其子樹的結點個數。思路 分為三種情況 其中2 3情況均為乙個滿二叉樹,只需要知道其子樹的深度就可以直接算得,而對於第一種情況,需要先計算出其最後一層的結點樹,再加上以上的結點數。如下 include include ...
二叉搜尋樹 二叉搜尋樹
題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...