zoukankan      html  css  js  c++  java
  • LeetCode 108. Convert Sorted Array to Binary Search Tree

    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:

    Given the sorted array: [-10,-3,0,5,9],
    
    One possible answer is: [0,-3,9,-10,null,5], which represents the following height balanced BST:
    
          0
         / 
       -3   9
       /   /
     -10  5
    
    /**
     * 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* helper(vector<int>& nums, int start, int end){
            if(end<=start) return NULL;
            int midIdx = (end+start)/2;
            TreeNode* root = new TreeNode(nums[midIdx]);
            root->left = helper(nums, start, midIdx);
            root->right = helper(nums, midIdx+1, end);
            return root;
        }
        TreeNode* sortedArrayToBST(vector<int>& nums) {
            return helper(nums, 0 ,nums.size());
        }
    };
    /*
    class Solution {
        TreeNode* sortedArrayToBST(vector<int>& nums, int start, int end){
            if(end<=start) return NULL; 
            int midIdx=(end+start)/2;
            TreeNode* root=new TreeNode(nums[midIdx]);
            root->left=sortedArrayToBST(nums, start, midIdx);
            root->right=sortedArrayToBST(nums, midIdx+1,end);
            return root;
        }
    public:
        TreeNode* sortedArrayToBST(vector<int>& nums) {
            return sortedArrayToBST(nums, 0,nums.size());
        }
    };
    */
    
  • 相关阅读:
    【一起来烧脑】读懂HTTP知识体系
    Day16:小前端
    Day15:大前端
    Day14:CSS垂直居中
    Day13:H5+JS+C3
    web学习
    javascript 闭包
    微信小程序微信登录
    微信小程序开源
    mpvue搭建小程序框架
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/10055622.html
Copyright © 2011-2022 走看看