【 声明:版权所有,转载请标明出处,请勿用于商业用途。 联系信箱:libin493073668@sina.com】
题目描述
对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。
给定一个有序序列int[] vals,请返回创建的二叉查找树的高度。
思路
只需要求高度而不需要建树的话,那么这道题就实在太简单了,我们很容易就能发现其高度就是log(len)/log(2)+1
class MinimalBST
{
public:
int buildMinimalBST(vector<int> vals)
{
// write code here
int len = vals.size();
if(len==0)
return 0;
return log(len)/log(2)+1;
}
};