自己的代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
if(nums == null || nums.length == 0){
return null;
}else{
return BST(nums,0,nums.length);
}
}
public Integer BST(nums,left,right){
int mid = (left + right) / 2;
nums[mid];
BST(nums,)
}
}
错误
要注意看给的函数的返回值类型
正确代码
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
if(nums == null || nums.length == 0){
return null;
}else{
return BST(nums,0,nums.length-1);
}
}
public TreeNode BST(int[] nums,int left,int right){
if(right>=left){
int mid = (left + right) / 2;
TreeNode node = new TreeNode(nums[mid]);
node.left = BST(nums,left,mid-1);
node.right = BST(nums,mid+1,right);
return node;
}else{
return null;
}
}
}
要注意返回值类型和函数参数的写法
nums.length-1