File tree 1 file changed +20
-10
lines changed
solution/0100-0199/0108.Convert Sorted Array to Binary Search Tree
1 file changed +20
-10
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * public class TreeNode {
4
+ * int val;
5
+ * TreeNode left;
6
+ * TreeNode right;
7
+ * TreeNode(int x) { val = x; }
8
+ * }
9
+ */
1
10
class Solution {
2
11
public TreeNode sortedArrayToBST (int [] nums ) {
3
- int len = nums .length ;
4
- if (len == 0 ) return null ;
5
- return helper (nums , 0 , len - 1 );
12
+ return sortedArrayToBST (nums , 0 , nums .length - 1 );
6
13
}
7
- private TreeNode helper (int [] arr , int start , int end ) {
8
- if (start > end ) return null ;
9
- int middle = (end + start ) / 2 ;
10
- TreeNode helperRoot = new TreeNode (arr [middle ]);
11
- helperRoot .left = helper (arr , start , middle - 1 );
12
- helperRoot .right = helper (arr , middle + 1 , end );
13
- return helperRoot ;
14
+
15
+ private TreeNode sortedArrayToBST (int [] nums , int l , int r ) {
16
+ if (l > r ) {
17
+ return null ;
18
+ }
19
+ int mid = (l + r ) >> 1 ;
20
+ TreeNode root = new TreeNode (nums [mid ]);
21
+ root .left = sortedArrayToBST (nums , l , mid - 1 );
22
+ root .right = sortedArrayToBST (nums , mid + 1 , r );
23
+ return root ;
14
24
}
15
25
}
You can’t perform that action at this time.
0 commit comments