给出一个升序排序的数组,将其转化为平衡二叉搜索树(BST).
import java.util.*;
public class SortedArrayToBST {
public TreeNode sortedArrayToBST (int[] num) {
// write code here
if(num.length == 0 ){
return null;
}
return sortedArrayToBST(num,0,num.length-1);
}
public TreeNode sortedArrayToBST(int[] num ,int start,int end){
if(start > end){
return null;
}
int mid = (start + end)/2 + (start + end)%2;
TreeNode tn = new TreeNode(num[mid]);
tn.left = sortedArrayToBST(num,start,mid - 1);
tn.right = sortedArrayToBST(num,mid+1,end);
return tn;
}
}