public TreeNode sortedArrayToBST(int[] a) {
        if (a.length == 0) return null;
        return helper(a, 0, a.length - 1);
    }
As an array is sorted, we can find root of array by finding middle element in constant time.
then divide both left and right parts of array and apply the method again to find root of subtrees
src/problems/medium/ConvertSortedArraytoBinarySearchTree.java