Title description:
Code:
/**
* 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) {
return SouSuoShu(nums,0,nums.length - 1);
}
public TreeNode SouSuoShu(int[] nums,int left,int right){
if(left > right){
return null;
}
int median = (left + right + 1)/2 ;
TreeNode node = new TreeNode(nums[median]);
node.left = SouSuoShu(nums,left,median -1);
node.right = SouSuoShu(nums,median + 1,right);
return node;
}
}
result: