Java教程

1315. Sum of Nodes with Even-Valued Grandparent

本文主要是介绍1315. Sum of Nodes with Even-Valued Grandparent,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Given a binary tree, return the sum of values of nodes with even-valued grandparent.  (A grandparent of a node is the parent of its parent, if it exists.)

If there are no nodes with an even-valued grandparent, return 0.

 

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.

 

Constraints:

  • The number of nodes in the tree is between 1 and 10^4.
  • The value of nodes is between 1 and 100.
 
class Solution {
public:
    int sumEvenGrandparent(TreeNode* root) {
        if(!root) return 0;
        int ans=0;
        if(root->val%2==0){
            if(root->left){
                if(root->left->left) ans+=root->left->left->val;
                if(root->left->right) ans+=root->left->right->val;
            }
            if(root->right){
                if(root->right->left) ans+=root->right->left->val;
                if(root->right->right) ans+=root->right->right->val;
            }  
        }
        return ans+sumEvenGrandparent(root->left)+sumEvenGrandparent(root->right);
    }
};

 

这篇关于1315. Sum of Nodes with Even-Valued Grandparent的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!