108. Convert Sorted Array to Binary Search Tree

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

class Solution {
public:
    TreeNode* createTree(vector<int>& nums,int left,int right)
    {
        if(left>right)
          return NULL;
          
        int mid = (left+right)>>1;
        TreeNode* leftNode = createTree(nums,left,mid-1);
        TreeNode* rightNode = createTree(nums,mid+1,right);
        
        TreeNode* node = new TreeNode(nums[mid]);
        node->left = leftNode;
        node->right = rightNode;
        
        return node;
    }
    
    TreeNode* sortedArrayToBST(vector<int>& nums) {
        return createTree(nums,0,nums.size()-1);
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容