首页 > 试题广场 >

将升序数组转化为平衡二叉搜索树

[编程题]将升序数组转化为平衡二叉搜索树
  • 热度指数:32617 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个升序排序的数组,将其转化为平衡二叉搜索树(BST).

平衡二叉搜索树指树上每个节点 node 都满足左子树中所有节点的的值都小于 node 的值,右子树中所有节点的值都大于 node 的值,并且左右子树的节点数量之差不大于1

数据范围:,数组中每个值满足
进阶:空间复杂度 ,时间复杂度

例如当输入的升序数组为[-1,0,1,2]时,转化后的平衡二叉搜索树(BST)可以为{1,0,2,-1},如下图所示:
或为{0,-1,1,#,#,#,2},如下图所示:
返回任意一种即可。
示例1

输入

[-1,0,1,2]

输出

{1,0,2,-1}
示例2

输入

[]

输出

{}

说明:本题目包含复杂数据结构TreeNode,点此查看相关信息

这道题你会答吗?花几分钟告诉大家答案吧!

问题信息

难度:
0条回答 21451浏览

热门推荐

通过挑战的用户

查看代码