題目描述:輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。
輸入:每個測試案例包括2行:
第一行為1個整數n(1<=n<=10000),表示陣列的長度。
第二行包含n個整數,表示這個陣列,陣列中的數的範圍是[0,100000000]。
輸出:對應每個測試案例,如果輸入陣列是某二叉搜尋樹的後序遍歷的結果輸出yes,否則輸出no。
樣例輸入:
75 7 6 9 11 10 847 4 6 5
樣例輸出:
yesno
答疑:
#include #include #define false 0
#define true 1
int judge_bst(int *arr, int len);
int main()
return 0;}
int judge_bst(int *arr, int len)
// 查詢右子樹是否符合要求
for (j = i; j < len - 1; j ++)
// 遞迴的判斷左右子樹是否符合要求
int left, right;
left = true;
left = judge_bst(arr, i);
right = true;
right = judge_bst(arr + i, len - 1 - i);
return (right && left);
}
九度oj 題目1367 二叉搜尋樹的後序遍歷序列
題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。輸入 每個測試案例包括2行 第一行為1個整數n 1 n 10000 表示陣列的長度。第二行包含n個整數,表示這個陣列,陣列中的數的範圍是 0,10000...
九度 題目1367 二叉搜尋樹的後序遍歷序列
時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 966 解決 496 題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。輸入 每個測試案例包括2行 第一行為1個整數n 1 n 10000 表...
二叉搜尋樹的前序遍序序列 仿後序
實現功能 給定乙個序列,判斷是否是乙個搜尋樹的前序序列,如果是輸出 yes 反之輸出 no 要解決的問題和題目 類似 注 這裡考慮嚴格的二叉搜尋樹,即左子樹上的值全部小於根,右子樹上的值全部大於根,不存在相等情況,兩兩不同。include include includeusing namespace...