Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
要比convert sorted linked list简单
/**
* Definition for binary tree
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public TreeNode sortedArrayToBST(int[] num) {
int len = num.length;
if(len == 0) return null;
return sortedArrayToBST(num,0,len-1);
}
public TreeNode sortedArrayToBST(int a[], int left, int right){
if(left>right) return null;
int mid = (left+right)/2;
TreeNode parent = new TreeNode(a[mid]);
TreeNode leftC = sortedArrayToBST(a,left,mid-1);
parent.left = leftC;
TreeNode rightC = sortedArrayToBST(a,mid+1,right);
parent.right = rightC;
return parent;
}
}