将有序数组转换为二叉搜索树(C++)
将有序数组转换为二叉搜索树(C++)
将有序数组转换为二叉搜索树给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。示例 1:代码语言:javascript代码运行次数:0运行复制输入: nums = [-10,-,0,5,9]
输出: [0,-,9,-10
将有序数组转换为二叉搜索树(C++)
将有序数组转换为二叉搜索树
给你一个整数数组 nums
,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。
高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。
示例 1:
输入: nums = [-10,-,0,5,9]
输出: [0,-,9,-10,null,5]
解释: [0,-10,5,null,-,null,9] 也将被视为正确答案:
示例 2:
输入: nums = [1,]
输出: [,1]
解释: [1,null,] 和 [,1] 都是高度平衡二叉搜索树。
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums
按 严格递增 顺序排列
我的代码:
代码语言:javascript代码运行次数:0运行复制/**
* Definition for a binary tree node.
* struct Treeode {
* int val;
* Treeode *left;
* Treeode *right;
* Treeode() : val(0), left(nullptr), right(nullptr) {}
* Treeode(int x) : val(x), left(nullptr), right(nullptr) {}
* Treeode(int x, Treeode *left, Treeode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
Treeode* sortedArrayToBST(vector<int>& nums) {
if (nums.size() == 0) return ULL;
return convert(nums, 0, nums.size() - 1);
}
Treeode* convert(vector<int>& nums, int left, int right)
{
if (left > right) return ULL;
int center = (left + right) / 2;
Treeode* head = new Treeode(nums[center]); // 选择数组的中间值为根节点
head->left = convert(nums, left, center - 1); // 构建左子树
head->right = convert(nums, center + 1, right); // 构建右子树
return head;
}
};
对应我的掘金文章:
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-10-19,如有侵权请联系 cloudcommunity@tencent 删除数组搜索c++二叉树int#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-20 14:29:59
推荐阅读
留言与评论(共有 17 条评论) |
本站网友 kedouwo | 28分钟前 发表 |
-10 | |
本站网友 安庆儿童摄影 | 17分钟前 发表 |
9 | |
本站网友 滑县租房 | 29分钟前 发表 |
left | |
本站网友 歌瑞尔官网 | 28分钟前 发表 |
] 和 [ | |
本站网友 d3086 | 4分钟前 发表 |
- | |
本站网友 梳头方法 | 1分钟前 发表 |
val(x) | |
本站网友 帕玛氏 | 16分钟前 发表 |
] 输出: [ | |
本站网友 1度电 | 21分钟前 发表 |
] 和 [ | |
本站网友 莱芜电影院 | 11分钟前 发表 |
right(nullptr) {} * Treeode(int x) | |
本站网友 消费者网 | 13分钟前 发表 |
center + 1 | |
本站网友 ups是什么东西 | 25分钟前 发表 |
right(nullptr) {} * Treeode(int x) | |
本站网友 面部湿疹 | 13分钟前 发表 |
] 和 [ | |
本站网友 华英学校 | 17分钟前 发表 |
int left | |
本站网友 it学院 | 3分钟前 发表 |
0 | |
本站网友 沈阳影讯 | 29分钟前 发表 |
1] 都是高度平衡二叉搜索树 | |
本站网友 方琴 | 10分钟前 发表 |
int left |