【LeetCode从零单刷】Convert Sorted Array to Binary Search Tree

来源:互联网 发布:伍佰挪威的森林知乎 编辑:程序博客网 时间:2024/05/08 03:05

题目:

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) {        if(nums.size() == 0)            return NULL;                if(nums.size() == 1)            return (new TreeNode(nums[0]));                    int mid     = nums.size() / 2;        TreeNode* ans = new TreeNode(nums[mid]);                vector<int> left, right;        left.clear();        right.clear();        for(int i = 0; i<mid; i++)  left.push_back(nums[i]);        for(int i = mid + 1; i<nums.size(); i++)  right.push_back(nums[i]);                ans->left   = sortedArrayToBST(left);        ans->right  = sortedArrayToBST(right);                return ans;    }};

0 0
原创粉丝点击