您的位置:首页 > 其它

Leetcode:Convert Sorted Array to Binary Search Tree

2014-12-31 15:03 381 查看
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

分析:对于BST,左右子树的高度差小于等于1,则在由sorted array构建BST时把数组中间元素作为根节点,然后递归的构建左右子树。代码如下:

class Solution {
public:
TreeNode *sortedArrayToBST(vector<int> &num) {
return build_BST(num, 0, num.size()-1);
}

TreeNode *build_BST(vector<int> &num, int start, int end){
if(start > end) return NULL;

int mid = (start + end)/2;
TreeNode *root = new TreeNode(num[mid]);
root->left = build_BST(num, start, mid-1);
root->right = build_BST(num, mid+1, end);

return root;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: