Sum of Nodes with Even-Valued Grandparent
class Solution {
public:
    int sumEvenGrandparent(TreeNode* root)
    {
        // USING BFS:
        if (root == NULL)
        {
            return 0;
        }
        queue<TreeNode*>q;
        q.push(root);
        int sum=0;
        
        while(!q.empty())
        {
            TreeNode* curr=q.front();
            q.pop();
            
            if (curr->val % 2 == 0)
            {
                if (curr->left)
                {
                    if (curr->left->left)
                    {
                        sum += curr->left->left->val;;
                    }
                    if (curr->left->right)
                    {
                        sum += curr->left->right->val;
                    }
                }
                if (curr->right)
                {
                    if (curr->right->right)
                    {
                        sum += curr->right->right->val;
                    }
                    if (curr->right->left)
                    {
                        sum+=curr->right->left->val;
                    }
                    
                }
            }
            if (curr->left)
            {
                q.push(curr->left);
            }
            if (curr->right)
            {
                q.push(curr->right);
            }
        }
        
        return sum;
    }
};
Comments (0)