Leetcode Convert Sorted Array to Binary Search Tree

来源:互联网 发布:遥感影像数据拼接 编辑:程序博客网 时间:2024/06/06 17:23

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


代码如下:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* sortedArrayToBST(vector<int>& nums) {        if(nums.empty())            return NULL;                    //if(nums.size() == 1)            //return new TreeNode(nums[0]);                TreeNode* root = new TreeNode(0);        int middle = nums.size()/2;        root->val = nums[middle];                vector<int> left(nums.begin(),nums.begin()+middle);        vector<int> right(nums.begin()+middle+1,nums.end());        root->left=sortedArrayToBST(left);        root->right=sortedArrayToBST(right);                return root;    }};


阅读全文
0 0