LeetCode

LeetCode 1315. 祖父节点值为偶数的节点和

2020-02-28  本文已影响0人  桐桑入梦

给你一棵二叉树,请你返回满足以下条件的所有节点的值之和:
该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)
如果不存在祖父节点值为偶数的节点,那么返回 0

示例:


输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]
输出:18
解释:图中红色节点的祖父节点的值为偶数,蓝色节点为这些红色节点的祖父节点。

提示:
树中节点的数目在 110^4 之间。
每个节点的值在 1100 之间。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-nodes-with-even-valued-grandparent

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {

    int sum = 0;

    public int sumEvenGrandparent(TreeNode root) {
        dfs(root,root.left);
        dfs(root,root.right);
        return sum;
    }

    private void dfs(TreeNode grandparentNode,TreeNode fatherNode){
        if(fatherNode!=null){
            TreeNode left = fatherNode.left;
            TreeNode right = fatherNode.right;
            if(grandparentNode.val % 2 == 0){
                if(left!=null) sum+=left.val;
                if(right!=null) sum+=right.val;
            } 
            dfs(fatherNode,left);
            dfs(fatherNode,right);
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读