41.有序数组(二叉搜索树)转平衡二叉树

1.题目描述

2.解题思路

递归,依旧看basecase情况

cpp 复制代码
class Solution {
public:
    
    TreeNode* helper(vector<int>& nums, int l, int r){
        if(l > r){
            return nullptr;
        }
   
    int mid = (l + r)/2;
    TreeNode *root  = new TreeNode(nums[mid]);
    root->left = helper(nums, l , mid - 1);
    root->right = helper(nums, mid + 1, r);
    return root;
}
    
    TreeNode* sortedArrayToBST(vector<int>& nums) {
        return helper(nums, 0, nums.size() - 1);
        
    }
};
相关推荐
毅炼3 小时前
hot100打卡——day14
java·数据结构·算法·leetcode·ai·深度优先·哈希算法
DLGXY3 小时前
数据结构——双向循环链表的建立、添加、遍历(十三)
数据结构·链表
C雨后彩虹3 小时前
优雅子数组
java·数据结构·算法·华为·面试
漫随流水4 小时前
leetcode回溯算法(46.全排列)
数据结构·算法·leetcode·回溯算法
睡一觉就好了。4 小时前
直接选择排序
数据结构·算法·排序算法
芬加达5 小时前
leetcode221 最大正方形
java·数据结构·算法
知无不研5 小时前
实现一个整形栈
c语言·数据结构·c++·算法
红豆诗人6 小时前
数据结构--顺序表
数据结构·顺序表
季明洵7 小时前
备考蓝桥杯第四天
java·数据结构·算法·leetcode·链表·哈希算法