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);
        
    }
};
相关推荐
你撅嘴真丑22 分钟前
map 与 set容器的应用--话题焦点人物
数据结构
生成论实验室30 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第二篇:阴阳博弈——认知的动力学基础
数据结构·人工智能·科技·神经网络·算法
li16709027041 分钟前
第二十七章:智能指针
c语言·数据结构·c++·visual studio
代码中介商3 小时前
数据结构开篇:从问题到解决方案
数据结构
AKDreamer_HeXY4 小时前
QOJ 12255 - 36 Puzzle 题解
数据结构·c++·数学·算法·icpc·qoj
Rabitebla4 小时前
vector 的骨架:三根指针、模板陷阱与迭代器失效的第一现场
开发语言·数据结构·c++·算法
Sarvartha5 小时前
N 个字符串最长公共子序列(LCS)求解问题
数据结构·算法
m0_629494735 小时前
LeetCode 热题 100-----16.除了自身以外数组的乘积
数据结构·算法·leetcode
迷途之人不知返6 小时前
优先级队列:priority_queue
数据结构·c++
jieyucx6 小时前
Go 零基础数据结构:顺序表(像「排抽屉」一样学增删改查)
java·数据结构·golang