leetcode Convert Sorted Array to Binary Search Tree

来源:互联网 发布:问剑传说手游进阶数据 编辑:程序博客网 时间:2024/05/29 16:10
/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode *build(vector<int>&num,int &cur,int st,int en)    {        if(st>en)return NULL;        int mid = st + (en-st)/2;        TreeNode* left = build(num,cur,st,mid-1);        TreeNode* res = new TreeNode(num[cur]);        cur++;        TreeNode* right = build(num,cur,mid+1,en);        res->left = left;        res->right= right;        return res;    }    TreeNode *sortedArrayToBST(vector<int> &num) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        int cur=0;        return build(num,cur,0,(int)num.size()-1);    }};