本文最后更新于:2023年3月19日 晚上
- 祖父节点值为偶数的节点和
给你一棵二叉树,请你返回满足以下条件的所有节点的值之和:
- 该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)
如果不存在祖父节点值为偶数的节点,那么返回 0 。
示例:
输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5] 输出:18 解释:图中红色节点的祖父节点的值为偶数,蓝色节点为这些红色节点的祖父节点。
提示:
- 树中节点的数目在 1 到 10^4 之间。
- 每个节点的值在 1 到 100 之间。
思路
按题意遍历累加即可。
解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
var sumEvenGrandparent = function (root) { let res = 0; const visit = (node) => { if (!node) return; if (node.val % 2 === 0) { const leftChild = node.left, rightChild = node.right; if (leftChild) res += (leftChild.left ? leftChild.left.val : 0) + (leftChild.right ? leftChild.right.val : 0); if (rightChild) res += (rightChild.left ? rightChild.left.val : 0) + (rightChild.right ? rightChild.right.val : 0); } visit(node.left); visit(node.right); }; visit(root); return res; };
|