Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public static TreeNode sortedArrayToBSTHelper(int[] num, int left,int right) { if (left>right) { return null; } if (left==right) { return new TreeNode(num[left]); } int mid = (left+right)/2; TreeNode leftNode = sortedArrayToBSTHelper(num, left, mid-1); TreeNode rightNode = sortedArrayToBSTHelper(num, mid+1, right); TreeNode node = new TreeNode(num[mid]); node.left = leftNode; node.right = rightNode; return node; } public TreeNode sortedArrayToBST(int[] num) { TreeNode result = sortedArrayToBSTHelper(num, 0, num.length-1); return result; } }