Convert Sorted List to Binary Search Tree LeetCode solution in Java

1
class Solution {
2

3
public TreeNode sortedListToBST(ListNode head) {
4

5
ListNode tmp = head;
6
ArrayList<Integer> treelist = new ArrayList<>();
7

8
while (tmp != null) {
9
treelist.add(tmp.val);
10
tmp = tmp.next;
11
}
12

13
return createTree(treelist, 0, treelist.size() - 1);
14
}
15

16
public TreeNode createTree(ArrayList<Integer> treelist, int start, int end) {
17

18
if (start > end) return null;
19

20
int mid = start + (end - start) / 2;
21

22
TreeNode node = new TreeNode(treelist.get(mid)); // getNode(treelist.get(mid));
23

24
node.left = createTree(treelist, start, mid - 1);
25
node.right = createTree(treelist, mid + 1, end);
26
return node;
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0