动漫风格网站,外贸soho网站建设,家政网站模版,软件设计包括哪些内容1. 题目
给定一个有序整数数组#xff0c;元素各不相同且按升序排列#xff0c;编写一个算法#xff0c;创建一棵高度最小的二叉搜索树。
示例: 给定有序数组: [-10,-3,0,5,9],
一个可能的答案是#xff1a;[0,-3,9,-10,null,5]#xff0c;它可以表示下面这个高度平衡二…1. 题目
给定一个有序整数数组元素各不相同且按升序排列编写一个算法创建一棵高度最小的二叉搜索树。
示例: 给定有序数组: [-10,-3,0,5,9],
一个可能的答案是[0,-3,9,-10,null,5]它可以表示下面这个高度平衡二叉搜索树 0 / \ -3 9 / / -10 5 来源力扣LeetCode 链接https://leetcode-cn.com/problems/minimum-height-tree-lcci 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
二叉搜索树中序遍历是有序的每次找到数组的中点作为root递归处理
class Solution {
public:TreeNode* sortedArrayToBST(vectorint nums) {return build(nums,0,nums.size()-1);}TreeNode* build(vectorint nums, int l, int r){if(l r)return NULL;int mid l((r-l)1);TreeNode* root new TreeNode(nums[mid]);root-left build(nums,l,mid-1);root-right build(nums,mid1,r);return root;}
};