您的位置:首页 > 其它

[leetcode] Convert Sorted Array to Binary Search Tree

2013-08-19 19:24 501 查看
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

class Solution {
public:
TreeNode *sortedArrayToBST(vector<int> &num) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(num.size()==0)
return NULL;
TreeNode *root=Build(0,num.size()-1,num);
return root;
}
TreeNode *Build(int i , int j , vector<int> &num){
if(i>j)
return NULL;
int middle=(j-i+1)/2;
TreeNode *root=new TreeNode(num[middle+i]);
TreeNode *left=Build(i,i+middle-1,num);
TreeNode *right=Build(i+middle+1,j,num);
root->left=left;
root->right=right;
return root;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: