题目: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) ;
}
本文介绍了一种将排序数组转换为高度平衡二叉搜索树(BST)的方法。通过递归地选择数组中间元素作为根节点,并继续对左右子数组进行相同操作来构建平衡树。这种方法确保了树的高度尽可能小。
8319

被折叠的 条评论
为什么被折叠?



