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

代码随想录算法【Day21】

Day21

108.将有序数组转换为二叉搜索树

递归法

思路有点类似二分法

class Solution {
private:
    TreeNode* traversal(vector<int>& nums, int left, int right){
        if(left > right) return nullptr;
        int mid = left + ((right - left) / 2);
        TreeNode* root = new TreeNode(nums[mid]);
        root -> left = traversal(nums, left, mid - 1);
        root -> right = traversal(nums, mid + 1 ,right);
        return root;
    }
public:
    TreeNode* sortedArrayToBST(vector<int>& nums) {
        TreeNode* root = traversal(nums, 0, nums.size() - 1);
        return root;
    }
};

以下是模拟过程:


http://www.kler.cn/a/505364.html

相关文章:

  • SpringAOP前置——代理模式
  • C语言:数据的存储
  • 79_Redis通信协议RESP
  • C语言数据结构与算法(排序)详细版
  • 在 Azure 100 学生订阅中新建 Ubuntu VPS 并通过 Docker 部署 pSQL 服务器
  • MyBatis——XML映射文件
  • 【C++】B2112 石头剪子布
  • OpenStack 网络服务的插件架构
  • 诡异的Spring @RequestBody驼峰命名字段映射失败为null问题记录
  • Android Studio 警告信息:Use start instead of left to ensure...
  • 基于阿里云容器服务Kubernetes版(ACK)| 容器化管理云上应用
  • 非PHP开源内容管理系统(CMS)一览
  • 【ArcGIS技巧】如何给CAD里的面注记导入GIS属性表中
  • 解锁C++性能密码:TCMalloc深度剖析
  • 麒麟操作系统服务架构保姆级教程(十)rewrite跳转
  • linux环境使用docker部署多个war项目
  • rtthread学习笔记系列--24 waitqueue
  • 在 Docker 中安装并运行三个 MySQL 数据库
  • 快速上手 HarmonyOS 应用开发
  • np.gradient() 获取单个,一维,二维坐标点的梯度值
  • Oracle分析工具-Logminer手动指定归档文件
  • Tabby - 开源的自托管 AI 编码助手
  • 计算机网络速成
  • centos 7 CA认证中心
  • ChatGLM:从GLM-130B到GLM-4全系列大语言模型
  • ARM与x86:架构对比及其应用