Day 90 of 100 Days LeetCode Challenge

LeetCode Challenge #108. Convert Sorted Array to Binary Search Tree

Given an integer array nums where the elements are sorted in ascending order, convert it to a 

 

 binary search tree.

 

Example 1:

btree1

Input: nums = [-10,-3,0,5,9]
Output: [0,-3,9,-10,null,5]
Explanation: [0,-10,5,null,-3,null,9] is also accepted:
btree2

Example 2:

btree

Input: nums = [1,3]
Output: [3,1]
Explanation: [1,null,3] and [3,1] are both height-balanced BSTs.

 

Constraints:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums is sorted in a strictly increasing order.
Video Solution
Java Solution
				
					class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return helper(nums , 0 , nums.length-1 );
    }

    public TreeNode helper(int[] nums , int start , int end ){
        if(start> end ){
            return null;
        }

        int mid = (start + end )/2 ;
        TreeNode root = new TreeNode(nums[mid]);
        root.left = helper(nums , start , mid-1);
        root.right = helper(nums , mid+1 , end );
        return root ;
    }
}
				
			

Happy Coding with edSlash