题目描述:

思路:题目要求将有序数组转成二叉排序树,而且有左右子树高度差的限制,因此考虑二分的思想递归生成树。
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
return TreeNodesortArrayToTree(nums,0,nums.length-1);
}
private TreeNode TreeNodesortArrayToTree(int[] nums,int left,int right){
if (left>right) return null;
int mid=(left+right)/2;
TreeNode root=new TreeNode(nums[mid]);
root.left=TreeNodesortArrayToTree(nums,left,mid-1);
root.right=TreeNodesortArrayToTree(nums,mid+1,right);
return root;
}
}
运行结果:

6488

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



