将有序数组转换为二叉搜索树,这个题也比较常规,求出数组的中点当节点,然后分别对前后两半段求递归
public TreeNode sortedBST(int[] num,int i, int j) {
if(i>j)return null;
int min = (i+j)/2;
TreeNode a = new TreeNode(num[min]);
a.left=sortedBST(num,i,min-1);
a.right=sortedBST(num,min+1,j);
return a;
}
public TreeNode sortedArrayToBST(int[] num) {
int len = num.length;
return sortedBST(num,0,len-1);
}
本文介绍了一种将有序数组高效转化为平衡二叉搜索树的方法。通过递归选取数组中间元素作为根节点,实现左右子树的均衡划分。

被折叠的 条评论
为什么被折叠?



