Skip to content

Commit 6e5ea1e

Browse files
committed
Create 1315-SumOfNodesWithEvenValuedGrandparent.cpp
1 parent 8194339 commit 6e5ea1e

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class Solution {
13+
public:
14+
15+
void dfs(TreeNode* node, int &s){
16+
if(!node){return;}
17+
if(node->val % 2 == 0){
18+
if(node->left && node->left->left){s += node->left->left->val;}
19+
if(node->left && node->left->right){s += node->left->right->val;}
20+
if(node->right && node->right->left){s += node->right->left->val;}
21+
if(node->right && node->right->right){s += node->right->right->val;}
22+
}
23+
24+
dfs(node->left, s);
25+
dfs(node->right, s);
26+
}
27+
28+
29+
30+
int sumEvenGrandparent(TreeNode* root) {
31+
int total(0);
32+
dfs(root, total);
33+
return total;
34+
}
35+
};

0 commit comments

Comments
 (0)