1315. Sum of Nodes with Even-Valued Grandparent

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public int sumEvenGrandparent(TreeNode root) {
return dfs(root, false, false);
}

private int dfs(TreeNode node, boolean parentIsEven, boolean grandParentIsEven) {
if (node == null) {
return 0;
}

int sum = 0;
if (grandParentIsEven) {
sum += node.val;
}

boolean nodeIsEven = (node.val & 1) == 0;
sum += dfs(node.left, nodeIsEven, parentIsEven);
sum += dfs(node.right, nodeIsEven, parentIsEven);

return sum;
}
}

References

1315. Sum of Nodes with Even-Valued Grandparent