调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
简单
相关标签
相关企业
提示

给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。

示例:
给定有序数组: [-10,-3,0,5,9],

一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:

          0 
         / \ 
       -3   9 
       /   / 
     -10  5 
通过次数
54.8K
提交次数
69.1K
通过率
79.2%


相关企业

提示 1
最小的二叉树在每个节点左侧的节点数与右侧相同。现在我们把注意力放到根节点上,你要如何保证位于根的左侧和右侧的节点数量大致相同呢?

提示 2
你可以通过找到“理想”的下一个要添加的元素和多次调用insertValue来实现。这样效率会有点儿低,因为你必须反复遍历树。尝试用递归代替。你能把这个问题分解为子问题吗?

提示 3
想象一下,我们有一个createMinimalTree方法可以返回给定数组的最小树(但由于一些奇怪的原因不在树的根上操作)。你能用这个操作树的根节点吗?你能写出函数的基线条件吗?非常好!那基本上是整个函数了。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
运行和提交代码需要登录
nums =
[-10,-3,0,5,9]
Source