Construct Binary Search Tree from Preorder Traversal LeetCode solution in Java

1
class Solution {
2
public TreeNode bstFromPreorder(int[] preorder) {
3
return bst(preorder, 0, preorder.length - 1);
4
}
5

6
public TreeNode bst(int[] preorder, int start, int end) {
7
if (start > end) return null;
8

9
TreeNode root = new TreeNode(preorder[start]);
10
int breakPoint = start + 1;
11
while (breakPoint <= end && preorder[breakPoint] < preorder[start]) {
12
breakPoint++;
13
}
14

15
root.left = bst(preorder, start + 1, breakPoint - 1);
16
root.right = bst(preorder, breakPoint, end);
17
return root;
18
}
19
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0