解题思路:
二叉搜索树一般使用中序遍历
java
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
return helper(nums,0,nums.length-1);
}
public TreeNode helper(int[] nums,int left,int right){
if(left>right) return null;
//确定根节点
//总是选择中间位置左边的数字作为根节点
//也可以用 int mid = (left + right + 1) / 2; 总是选择中间位置右边的数字作为根节点
int mid=(left+right)/2;
TreeNode root=new TreeNode(nums[mid]);
root.left=helper(nums,left,mid-1);
root.right=helper(nums,mid+1,right);
return root;
}
}