万网买网站,网站及新媒体帐号内容建设,网上青年团智慧团建登录,wordpress多站点无法访问将有序数组转换为二叉搜索树
力扣题目链接
题目描述
给你一个整数数组 nums #xff0c;其中元素已经按 升序 排列#xff0c;请你将其转换为一棵 平衡 二叉搜索树。
解题思路
很简单的遇到递归题目#xff0c;对数组取半#xff0c;然后构建中间节点作为该数组对应的…将有序数组转换为二叉搜索树
力扣题目链接
题目描述
给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树。
解题思路
很简单的遇到递归题目对数组取半然后构建中间节点作为该数组对应的树然后左右两边切割数组递归下去。
题解
class Solution {
public:TreeNode* sortedArrayToBST(vectorint nums) {if(nums.size() 0){return nullptr;}if(nums.size() 1){TreeNode* temp new TreeNode(nums[0]);return temp;}int n nums.size() / 2;vectorint arr1(nums.begin(), nums.begin() n);vectorint arr2(nums.begin() n 1, nums.end());TreeNode* temp new TreeNode(nums[n]);temp-left sortedArrayToBST(arr1);temp-right sortedArrayToBST(arr2);return temp;}
};