Convert Sorted Array to Binary Search Tree

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

solution:
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    static int[] array;
    public TreeNode sortedArrayToBST(int[] nums) {
        array = nums;
        return help(0, nums.length-1);
    }

    private TreeNode help(int s, int e) {
        if(e < s) return null;
        if(s == e) return new TreeNode(array[s]);
        TreeNode rt = new TreeNode(array[(s+e)/2]);
        rt.left = help(s,(s+e)/2 -1);
        rt.right = help((s+e)/2 + 1,e);
        return rt;
    }

}

results matching ""

    No results matching ""