Convert Sorted Array to Binary Search Tree

 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     public TreeNode sortedArrayToBST(int[] num) {
12         // IMPORTANT: Please reset any member data you declared, as
13         // the same Solution instance will be reused for each test case.
14         if(num == null)
15             return null;
16         return sortedArrayToBST(num, 0, num.length - 1);
17     }
18     
19     private TreeNode sortedArrayToBST(int[] num, int start, int end)
20     {
21         if(start > end)
22             return null;
23         int mid = (start + end)/2;
24         TreeNode tmp = new TreeNode(num[mid]);
25         tmp.left = sortedArrayToBST(num, start, mid - 1);
26         tmp.right = sortedArrayToBST(num, mid + 1, end);
27         return tmp;
28     }
29 }
原文地址:https://www.cnblogs.com/jasonC/p/3418090.html