public TreeNode sortedArrayToBST(int[] nums) {
        if (nums.length == 0 || nums == null) {
           return null;
       }
       return buildTree(nums, 0, nums.length - 1);
    }  
    public TreeNode buildTree(int[] nums, int left, int right) {
         if (left > right) {
             return null;
         }

        TreeNode node = new TreeNode(nums[left + (right - left) / 2]);
        node.left = buildTree(nums, left, left + (right - left) / 2 -1);
        node.right = buildTree(nums, left + (right - left) / 2 + 1, right);

        return node;
    }

results matching ""

    No results matching ""