百度地图手机网站开发,怎么自创公众号,做国际贸易哪个网站好,前端菜鸟教程文章目录 题目描述思路解答#xff08;c#xff09;结果 题目描述
给你一个整数数组 nums #xff0c;其中元素已经按 升序 排列#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。
高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二… 文章目录 题目描述思路解答c结果 题目描述
给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵 高度平衡 二叉搜索树。
高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。
思路
设置头尾指针将中间值设置root然后左右两边进行相同的设置实现一个递归函数直到头指针位置大于尾指针位置。
解答c
class Solution {
public:TreeNode* myBuild(vectorint nums, int begin, int end){if(begin end) return nullptr;int mid begin (end-begin)/2;TreeNode* root new TreeNode(nums[mid]);root-left myBuild(nums, begin, mid-1);root-right myBuild(nums, mid1, end);return root;}TreeNode* sortedArrayToBST(vectorint nums) {return myBuild(nums, 0, nums.size()-1);}
};结果