将有序数组转换为二叉搜索树
将有序数组转换为二叉搜索树
给你一个整数数组 nums
,其中元素已经按 升序 排列,请你将其转换为一棵
平衡
二叉搜索树。
示例 1:
1 | 输入:nums = [-10,-3,0,5,9] |
示例 2:
1 | 输入:nums = [1,3] |
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums
按 严格递增 顺序排列
为了保持树的平衡,每次选取区间的中点作为根节点。
建树的过程是一个递归方法,返回结果是树的根节点,结束条件是左边界超过右边界。根的左孩子等于递归建立根的左孩子,根的右孩子等于递归建立根的右孩子。
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 面试资料!