这里采用递归的方式完成该题。
```java /** * 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; } return fun(nums , 0 ,nums.length-1); } public TreeNode fun(int[]n , int min , int max){ if(min > max) { return null; } int mid = (min + max )/2; TreeNode node = new TreeNode(n[mid]); node.left = fun(n,min,mid-1); node.right = fun(n,mid+1,max); return node; } }