Ninja technique🥷 to ACE DSA Interviews.
class Solution {
private:
TreeNode* helper(vector<int>& nums, int l, int r)
{
if (l > r) return NULL;
int m = l + (l - r) / 2;
TreeNode* root = new TreeNode(nums[m]);
root->left = helper(nums, l, m - 1);
root->right = helper(nums, m + 1, r);
return root;
}
public:
TreeNode* sortedArrayToBST(vector<int>& nums)
{
if (nums.size() == 0) return NULL;
return helper(nums, 0, nums.size() - 1);
}
};