题目
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
给定一个排序的数组,返回二叉排序树
思路
递归建立树即可
代码
class Solution {
public:
TreeNode* sortedArrayToBST(vector<int>& nums) {
return reBuiled(nums, 0, nums.size()-1);
}
TreeNode* reBuiled(vector<int>& nums, int begin, int end) {
if(begin > end) return NULL;
int mid = (begin + end)/2;
TreeNode *root = new TreeNode(nums[mid]);
root->left = reBuiled(nums, begin, mid-1);
root->right = reBuiled(nums, mid+1, end);
return root;
}
};