题目链接:convert-sorted-array-to-binary-search-tree
/**
*
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
*
*/
public class ConvertSortedArrayToBinarySearchTree {
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
// 32 / 32 test cases passed.
// Status: Accepted
// Runtime: 272 ms
// Submitted: 0 minutes ago
public TreeNode sortedArrayToBST(int[] num) {
return sortedArrayToBST(num, 0, num.length - 1);
}
public TreeNode sortedArrayToBST(int[] num, int left, int right) {
if(left > right) return null;
int mid = (left + right) / 2;
TreeNode root = new TreeNode(num[mid]);
root.left = sortedArrayToBST(num, left, mid - 1);
root.right = sortedArrayToBST(num, mid + 1, right);
return root;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}