1
class Solution {
2
public:
3
void sumGparent(TreeNode *child, int &sum, TreeNode *parent, TreeNode *Gparent) {
4
if (!child) return;
5
if (Gparent)
6
if (Gparent->val % 2 == 0) sum += child->val;
7
sumGparent(child->left, sum, child, parent);
8
sumGparent(child->right, sum, child, parent);
9
}
10

11
int sumEvenGrandparent(TreeNode *root) {
12
if (!root) return 0;
13
int sum = 0;
14
sumGparent(root, sum, NULL, NULL); // (child, sum, parent, grand-parent)
15
return sum;
16
}
17
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0