LeetCode 108 Convert Sorted Array to Binary Search Tree

2018-07-04 12:45:14 浏览数 (1)

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

Example:

代码语言:javascript复制

把一个升序序列变成一个平衡二叉搜索树:

c

代码语言:javascript复制
class Solution {
public:
    TreeNode* sortedArrayToBST(vector<int>& nums) {
         if(nums.empty()) return NULL;
         int l = 0 ;
         int r = nums.size()-1;
         int mid = (l r)/2 ;
         vector<int> left;
         vector<int> right;
        for(int i=0;i<mid;i  )
            left.push_back(nums[i]);
        for(int i=mid 1;i<=r;i  )
            right.push_back(nums[i]);
         TreeNode* tree = new TreeNode(nums[mid]);
         tree->left = sortedArrayToBST(left);
         tree->right = sortedArrayToBST(right);
        
        return tree;
         
        
    }
};

0 人点赞