广州市财贸建设开发监理网站,设计师网红cad图库,软件开发公司有哪些,公司网站优点给你一个整数数组 nums #xff0c;其中元素已经按 升序 排列#xff0c;请你将其转换为一棵
平衡 二叉搜索树。 示例 1#xff1a; 输入#xff1a;nums [-10,-3,0,5,9]
输出#xff1a;[0,-3,9,-10,null,5]
解释#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确…给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵
平衡 二叉搜索树。 示例 1 输入nums [-10,-3,0,5,9]
输出[0,-3,9,-10,null,5]
解释[0,-10,5,null,-3,null,9] 也将被视为正确答案 示例 2 输入nums [1,3]
输出[3,1]
解释[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。
思路 升序数组二分。
代码
TreeNode* AVLCreate(vectorint nums, int left, int right)
{if(left right)return nullptr;int mid (rightleft)/2;TreeNode* node new TreeNode(nums[mid]);node-left AVLCreate(nums, left, mid-1);node-right AVLCreate(nums, mid1, right);return node;
}TreeNode* sortedArrayToBST(vectorint nums) {return AVLCreate(nums, 0, nums.size()-1);;
}