Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* build(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=build(nums,begin,mid-1); root->right=build(nums,mid+1,end); return root; } TreeNode* sortedArrayToBST(vector<int>& nums) { if(nums.empty())return {}; return build(nums,0,nums.size()-1); } };
108. Convert Sorted Array to Binary Search Tree
原文:http://www.cnblogs.com/tsunami-lj/p/7622239.html