[LeetCode] Convert Sorted Array to Binary Search Tree

来源:互联网 发布:特许经营连锁店软件 编辑:程序博客网 时间:2024/04/30 06:28
/** * 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 s, int t) {        if (s > t) return NULL;                int mid = (s + t) / 2;        TreeNode *parent = new TreeNode(num[mid]);                parent->left  = build(num, s, mid - 1);        parent->right = build(num, mid + 1, t);                return parent;    }        TreeNode *sortedArrayToBST(vector<int> &num) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        return build(num, 0, num.size() - 1);    }};


Small Case: 0ms

Large Case: 92ms


Time: O(n)

Space: O(1)

原创粉丝点击