本题二叉树是一个二叉搜索树,比普通二叉树要方便很多,该题使用递归再根据左右节点的特性,就能很好做出来
class Solution {
public:
TreeNode * travel(vector<int>& nums,int left,int right)
{
if(left>=right) return NULL;
int mid=left+((right-left)/2);
TreeNode* root=new TreeNode(nums[mid]);
root->left=travel(nums,left,mid);
root->right=travel(nums,mid+1,right);
return root;
}
TreeNode* sortedArrayToBST(vector<int>& nums) {
TreeNode*k=travel(nums,0,nums.size());
return k;
}
};