Skip to content

Commit f634d4d

Browse files
committed
Time: 12 ms (74.39%), Space: 21.5 MB (42.34%) - LeetHub
1 parent 0550e92 commit f634d4d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
typedef struct TreeNode node;
13+
class Solution {
14+
public:
15+
node* solve(int i, int j, vector<int>& nums){
16+
if(i > j)
17+
return NULL;
18+
19+
int mid = (i + j)/2;
20+
node* root = new node(nums[mid]);
21+
22+
root->left = solve(i, mid-1,nums);
23+
root->right = solve(mid+1,j,nums);
24+
return root;
25+
}
26+
27+
TreeNode* sortedArrayToBST(vector<int>& nums) {
28+
int n = nums.size();
29+
int i = 0, j = n-1;
30+
31+
return solve(i, j, nums);
32+
}
33+
};

0 commit comments

Comments
 (0)