当前位置: 首页 > news >正文

【力扣】108.将有序数组转换为二叉搜索树

AC截图

题目

思路

因为nums数组是严格递增的,所以只需要每次选出中间节点,然后用左边部分构建左子树,用右边部分构建右子树。

代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    TreeNode* sortToBST(vector<int>& nums,int left,int right){
        if(left>right){
            return NULL;
        }
        int mid = (left+right)/2;

        TreeNode* root = new TreeNode(nums[mid]);
        root->left = sortToBST(nums,left,mid-1);
        root->right = sortToBST(nums,mid+1,right);
        return root;
    }

    TreeNode* sortedArrayToBST(vector<int>& nums) {
        return sortToBST(nums,0,nums.size()-1);
    }
};

相关文章:

  • 深度学习03 卷积神经网络CNN
  • 从零创建一个 Django 项目
  • vue3+elementplus新建项目
  • ASUS/华硕 全系列原厂系统 家庭版 专业版系统 工厂文件 带ASUS Recovery恢复
  • [HarmonyOS]鸿蒙(添加服务卡片)推荐商品 修改卡片UI(内容)
  • SQLite Select 语句详解
  • Python Cookbook-1.19 检查字符串中的结束标记
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析③】
  • haproxy实现MySQL服务器负载均衡
  • Navicate数据库连接工具的下载与安装,附带使用(连接MySQL,建表、增删改查)
  • 云原生(五十五) | ECS中自建数据库迁移到RDS
  • 利用租用的GPU进行训练
  • 3.5 企业级AI Agent运维体系构建:从容器化部署到智能监控的工业级实践指南
  • Linux上安装jdk1.8和配置环境变量
  • 低代码组态软件-BY组态
  • 电商系统防重实战:三招解决订单重复创建难题
  • doris:最佳实践
  • 网络安全等级保护基本要求、测评要求、高风险判定指引综合梳理
  • 最新智能优化算法: 中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法求解23个经典函数测试集,MATLAB代码
  • GCD of Subset
  • 鄂州交警通报致1死2伤车祸:女子操作不当引发,已被刑拘
  • KPL“王朝”诞生背后:AG和联赛一起迈向成熟
  • 《克莱默夫妇》导演罗伯特·本顿去世,终年92岁
  • 足球少年郎7月试锋芒,明日之星冠军杯构建顶级青少年赛事
  • 中国巴西关于乌克兰危机的联合声明
  • 沈阳卫健委通报“健康证”办理乱象:涉事医院已被立案查处