108. Convert Sorted Array to Binary Search Tree

来源:互联网 发布:网络算命婚姻 编辑:程序博客网 时间:2024/06/03 04:53

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

思路:sorted array相当于中序遍历的结果,先找root,然后确定左右孩子的范围递归就可以了。跟前面两题类似。

class Solution {public:    TreeNode* sortedArrayToBST(vector<int>& nums) {        if(nums.empty()) return NULL;    return helperBST(nums, 0, nums.size()-1);    }        TreeNode* helperBST(vector<int>&nums, int start, int end)    {    if(start > end) return NULL;    int mid = start + (end - start)/2;    TreeNode * root = new TreeNode(nums[mid]);    root->left = helperBST(nums, start, mid-1);    root->right = helperBST(nums, mid+1,end);    return root;    }};


0 0
原创粉丝点击