


解题思路:
二叉搜索树一般使用中序遍历
- 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;
- }
- }