108. Convert Sorted Array to Binary Search Tree!

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return recursion(nums, 0, nums.length-1);
    }
    private TreeNode recursion(int[] nums, int low, int high){
        if(low>high) return null;
        
        // use int mid = (hi + lo) / 2, for overflow protection,
        // mid will be mid or mid-left in the array from[low, high];
        int mid = (low+high)/2;
        TreeNode node = new TreeNode(nums[mid]);
        node.left = recursion(nums, low, mid-1);
        node.right = recursion(nums, mid+1,high);
        return node;
    }
}

Last updated