Number of Good Leaf Nodes Pairs LeetCode solution in Java

1
class Solution {
2
static int res;
3

4
public int countPairs(TreeNode root, int distance) {
5
res = 0;
6
rec(root, distance);
7
return res;
8
}
9

10
static List<Integer> rec(TreeNode root, int dist) {
11
if (root == null) {
12
return new LinkedList<Integer>();
13
}
14
List<Integer> left = rec(root.left, dist);
15
List<Integer> right = rec(root.right, dist);
16
if (left.size() == 0 && right.size() == 0) {
17
List<Integer> temp = new LinkedList<>();
18
temp.add(1);
19
return temp;
20
}
21
for (int i : left) {
22
for (int j : right) {
23
if (i + j <= dist) {
24
res++;
25
}
26
}
27
}
28
List<Integer> temp = new LinkedList<>();
29
for (int i : left) {
30
temp.add(i + 1);
31
}
32
for (int i : right) {
33
temp.add(i + 1);
34
}
35
return temp;
36
}
37
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0