题目:Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
由排序队列构造出二叉树搜索树,方法很简单,从数组中间二分构建。
TreeNode *sortedArrayTotree(vector<int> &num, int begin, int end)
{
if(begin> end) return NULL;
int mid=(begin+end)/2;
TreeNode *root = new TreeNode(num[mid]);
root->left=sortedArrayTotree(num, begin, mid-1) ;
root->right=sortedArrayTotree(num, mid+1, end) ;
return root;
}
TreeNode *sortedArrayToBST(vector<int> &num)
{
return sortedArrayTotree(num, 0, num.size()-1) ;
}