当前位置: 首页 > 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;}
};


http://www.mrgr.cn/news/30491.html

相关文章:

  • 9. 什么是 Beam Search?深入理解模型生成策略
  • Kotlin cancel CoroutineScope.launch的任务后仍运行
  • 智谱清影 -CogVideoX-2b-部署与使用,带你揭秘生成6s视频的极致体验!
  • C++初阶:STL详解(五)——vector的模拟实现
  • 华为云DevSecOps和DevOps
  • LeetCode_sql_day28(1767.寻找没有被执行的任务对)
  • Java-list集合转成前端需要的json格式
  • 【Tourism】Yuncheng(3)
  • PCL 计算点云距离
  • mp4转换成mp3,八个超简单视频转换方法
  • GUI编程18:文本框、密码框、文本域
  • 每日刷题(算法)
  • 深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
  • OpenAl o1论文:Let’s Verify Step by Step 快速解读
  • vue2与vue3的区别
  • 论文速递!时序预测!DCSDNet:双卷积季节性分解网络,应用于天然气消费预测过程
  • 基于SSM的宿舍管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • [vue2+axios]下载文件+文件下载为乱码
  • 基于剪切板的高速翻译工具
  • MSF的使用学习