LeetCode : Convert Sorted Array to Binary Search Tree

来源:互联网 发布:iphone看小说软件 编辑:程序博客网 时间:2024/06/05 01:10

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* sortedArrayToBST(vector<int>& nums) {        if(nums.size()==0)            return NULL;        if(nums.size()==1)            return new TreeNode(nums[0]);        int mid = nums.size()/2;        vector<int>vleft(nums.begin(),nums.begin()+mid);        vector<int>vright(nums.begin()+mid+1,nums.end());        TreeNode *T = new TreeNode(nums[mid]);        T->left = sortedArrayToBST(vleft);        T->right = sortedArrayToBST(vright);        return T;    }};
0 0