# [Solved] Given the root of a binary tree, return the sum of values of nodes with an even-valued grandparent. If there are no nodes with an even-valued grandparent, return 0. A grandparent of a node is the parent of its parent if it exists.

## Question

Given the `root` of a binary tree, return the sum of values of nodes with an even-valued grandparent. If there are no nodes with an even-valued grandparent, return `0`.

grandparent of a node is the parent of its parent if it exists.

Example 1:

```Input: root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
Output: 18
Explanation: The red nodes are the nodes with even-value grandparent while the blue nodes are the even-value grandparents.
```

Example 2:

```Input: root = [1]
Output: 0
```

Constraints:

• The number of nodes in the tree is in the range `[1, 104]`.
• `1 <= Node.val <= 100`

## Python Solution

```def traverse(root,p,gp):
global ans
if root==None:return
if gp and gp.val%2==0:
ans+=root.val
traverse(root.left,root,p)
traverse(root.right,root,p)

class Solution:
def sumEvenGrandparent(self, root: TreeNode) -> int:
global ans
ans = 0
traverse(root,None,None)
return ans```