LeetCode-108-将有序数组转换为二叉搜索树
题目
给你一个整数数组 nums
,其中元素已经按
升序 排列,请你将其转换为一棵 平衡 二叉搜索树。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums
按 严格递增 顺序排列
题解
其实能感觉到刷题有用,至少可以写出来大概的代码了。
BST的中序遍历是升序的,所以这题和根据中序遍历恢复二叉树是一样的。所以用升序序列的任何一个元素作为根节点,左边的序列构建左子树,右边的序列构建右子树,这样就可以得到一棵二叉树。因为题目要求平衡,所以选择中间位置的节点作为根节点。
1 |
|
LeetCode-108-将有序数组转换为二叉搜索树
https://excelius.xyz/leetcode-108-将有序数组转换为二叉搜索树/