描述
给定一个元素各不相同的有序序列int[] vals(升序排列),请编写算法创建一棵高度最小的二叉查找树,并返回二叉查找树的高度。
class MinimalBST {
public:
int buildMinimalBST(vector<int> vals) {
// write code here
if(vals.size() == 0) return 0;
return log2(vals.size()) + 1;
}
};
根据BST的性质,BST 深度=log2(节点数)+1。