描述:
判斷兩序列是否為同一二叉搜尋樹序列
題目類別:
樹 難度:
中級 執行時間限制:
10sec
記憶體限制:
128mbyte
階段:入職前練習
輸入:開始乙個數n,(1<=n<=20) 表示有n個需要判斷,n= 0 的時候輸入結束。
接下去一行是乙個序列,序列長度小於10,包含(0~9)的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。
接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組成同一顆二叉搜尋樹。
輸出:如果序列相同則輸出yes,否則輸出no
樣例輸入:
2567432
543267
576342
0
樣例輸出:
yesno
#include #include #include #include #include #include using namespace std;
typedef struct node
}node;
void insertbitreenode(node* &root, char val)
node* p = root, *pre = null;
/*找到插入的節點*/
while(p)
else
}/*將該節點插入*/
if(pre->data > val)
else
return;
}/*構建線索二叉樹*/
node* createbitree(string str)
return root;
}/*前序遍歷二叉樹*/
void pretree(node* root, string &ret)
ret += root->data;
pretree(root->lchild,ret);
pretree(root->rchild,ret);
}int main()
else}}
return 0;
}
二叉搜尋樹 二叉搜尋樹
題目 二叉搜尋樹 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...
二叉搜尋樹 修剪二叉搜尋樹
第一反應是重構,看來別人的解答發現,其實不用重構那麼複雜。treenode trimbst treenode root,int low,int high if root val high 下一層處理完左子樹的結果賦給root left,處理完右子樹的結果賦給root right。root left ...
華為機試練習題 33 二叉搜尋樹
題目 描述 判斷兩序列是否為同一二叉搜尋樹序列題目類別 樹難度 中級執行時間限制 10sec記憶體限制 128mbyte階段 入職前練習輸入 開始乙個數n,1 n 20 表示有n個需要判斷,n 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含 0 9 的數字,沒有重複數字,根據這個序...