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

将有序数组——>二叉搜索树

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵平衡二叉搜索树。

示例 1:

输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:

示例 2:

输入:nums = [1,3]
输出:[3,1]
解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。

中间位置为根节点

/*** 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* sortedArrayToBST(vector<int>& nums) {return _sortedArrayToBST(nums,0,nums.size()-1);}TreeNode*_sortedArrayToBST(vector<int>& nums,int left,int right){if(left>right){return nullptr;}int mid=(left+right)/2;TreeNode* root =new TreeNode(nums[mid]);root->left=_sortedArrayToBST(nums,left,mid-1);root->right=_sortedArrayToBST(nums,mid+1,right);return root;}
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Leetcode 3290. Maximum Multiplication Score
  • Python 数学建模——高斯核密度估计
  • 【读书笔记-《30天自制操作系统》-22】Day23
  • vue实现二维码生成器应用
  • Kotlin cancel CoroutineScope.launch的任务后仍运行
  • CPU 和 GPU:为什么GPU更适合深度学习?
  • 模仿抖音用户ID加密ID的算法MB4E,提高自己平台ID安全性
  • 【Java】网络编程-地址管理-IP协议后序-NAT机制-以太网MAC机制
  • Qt_自定义信号
  • QT+OSG+OSG-earth如何在窗口显示一个地球
  • 【在Linux世界中追寻伟大的One Piece】五种IO模型和阻塞IO
  • play-with-docker使用指南
  • redis集群创建问题处理
  • 数据结构-3.3.栈的链式存储实现
  • PCL 计算点云距离
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Akka系列(七):Actor持久化之Akka persistence
  • angular2开源库收集
  • CSS中外联样式表代表的含义
  • es6要点
  • FineReport中如何实现自动滚屏效果
  • Javascripit类型转换比较那点事儿,双等号(==)
  • js中的正则表达式入门
  • Laravel Mix运行时关于es2015报错解决方案
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • PHP那些事儿
  • Puppeteer:浏览器控制器
  • Vue学习第二天
  • 不上全站https的网站你们就等着被恶心死吧
  • 普通函数和构造函数的区别
  • 问题之ssh中Host key verification failed的解决
  • 小程序开发之路(一)
  • 一个项目push到多个远程Git仓库
  • 一起参Ember.js讨论、问答社区。
  • ######## golang各章节终篇索引 ########
  • #DBA杂记1
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (七)c52学习之旅-中断
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .Net Core 生成管理员权限的应用程序
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET 给NuGet包添加Readme
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NetCore项目nginx发布
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • @RequestParam详解
  • @拔赤:Web前端开发十日谈
  • @基于大模型的旅游路线推荐方案