Skip to content

Commit 2e3d2c1

Browse files
Update and rename sorted_array_to_binary_search_tree.cpp to convert_sorted_array_to_binary_search_tree.cpp
1 parent 8a06315 commit 2e3d2c1

File tree

2 files changed

+33
-14
lines changed

2 files changed

+33
-14
lines changed
Lines changed: 33 additions & 0 deletions
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+
class Solution {
13+
public:
14+
TreeNode *helper(vector<int> &nums, int left, int right) {
15+
if(left > right) return NULL;
16+
17+
int mid = left + (right - left) / 2;
18+
TreeNode *current = new TreeNode(nums[mid]);
19+
current->left = helper(nums, left, mid - 1);
20+
current->right = helper(nums, mid + 1, right);
21+
22+
return current;
23+
}
24+
25+
TreeNode* sortedArrayToBST(vector<int>& nums) {
26+
if(nums.size() == 0) return NULL;
27+
if(nums.size() == 1) return new TreeNode(nums[0]);
28+
29+
TreeNode *root = NULL;
30+
int left = 0, right = nums.size() - 1;
31+
return helper(nums, left, right);
32+
}
33+
};

sorted_array_to_binary_search_tree.cpp

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)