Leaf-Similar Trees LeetCode solution in Java

1
class Solution {
2
public boolean leafSimilar(TreeNode root1, TreeNode root2) {
3
List<Integer> list1 = new ArrayList<>();
4
checkLeaf(root1, list1);
5
List<Integer> list2 = new ArrayList<>();
6
checkLeaf(root2, list2);
7

8
if (list1.size() != list2.size()) return false;
9

10
int i = 0;
11
while (i < list1.size()) {
12
if (list1.get(i) != list2.get(i)) {
13
return false;
14
}
15
i++;
16
}
17
return true;
18
}
19

20
private void checkLeaf(TreeNode node, List<Integer> arr) {
21
if (node.left == null && node.right == null) arr.add(node.val);
22
if (node.left != null) checkLeaf(node.left, arr);
23
if (node.right != null) checkLeaf(node.right, arr);
24
}
25
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0