Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
题解:递归就可以了。
Java代码如下:
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 return Helper(num, 0, num.length-1); 13 } 14 public TreeNode Helper(int[] num,int begin,int end){ 15 if(begin > end) 16 return null; 17 18 int mid = (begin + end)/2; 19 TreeNode root = new TreeNode(num[mid]); 20 root.left = Helper(num, begin, mid-1); 21 root.right = Helper(num, mid+1, end); 22 return root; 23 } 24 }