leetcode---Convert Sorted Array to Binary Search Tree---二叉搜索树

来源:互联网 发布:淘宝上的老七是谁 编辑:程序博客网 时间:2024/06/16 18:44

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