Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 |
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public
class Solution { public
TreeNode sortedArrayToBST( int [] num) { return
transferHelper(num, 0 , num.length); } /**construct tree node with the help of indices.<br> * @param num --input array * @param i --left index which is included. * @param j --right index which is excluded * @return root node of the tree */ private
TreeNode transferHelper( int [] num, int
i, int j){ TreeNode root = null ; if (j > i){ if (j == i + 1 ) root = new
TreeNode(num[i]); else { int
mid = i + (j - i) / 2 ; root = new
TreeNode(num[mid]); root.left = transferHelper(num, i, mid); root.right = transferHelper(num, mid + 1 , j); } } return
root; } } |
leetcode--Convert Sorted Array to Binary Search Tree,布布扣,bubuko.com
leetcode--Convert Sorted Array to Binary Search Tree
原文:http://www.cnblogs.com/averillzheng/p/3772354.html