(LeetCode) 108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:艾滋病 知乎 编辑:程序博客网 时间:2024/06/08 12:32

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* sortedArrayToBST(vector<int>& nums) {        return build(nums, 0, nums.size()-1);    }    TreeNode* build(vector<int>& nums, int left, int right){        if (left>right){            return NULL;        }        int mid = (left+right)/2;        TreeNode* root = new TreeNode(nums[mid]);        root->left = build(nums, left, mid-1);        root->right = build(nums, mid+1, right);        return root;    }};
0 0
原创粉丝点击