📅  最后修改于: 2023-12-03 15:41:41.579000             🧑  作者: Mango
在给定的树中,每个节点具有一个权重。现在要求计算树中所有权重为偶数的节点的数量。本文将为程序员介绍如何编写一个实用的算法来解决此问题。
下面是一个Python代码示例,用于计算二叉树中权重为偶校验的节点数量。
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def count_even_weight(root: TreeNode) -> int:
if not root:
return 0
count = 0
if root.val % 2 == 0:
count += 1
count += count_even_weight(root.left)
count += count_even_weight(root.right)
return count
下面是一个使用示例,演示如何使用上述算法来计算树中权重为偶数的节点数量。
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.right = TreeNode(4)
root.right.left = TreeNode(5)
count = count_even_weight(root)
print(count) # output: 2
在上面的示例中,第一个节点的权重为1,是个奇数,因此没有计入计数器中。然而,节点2和4的权重均为偶数,所以它们被计数,最终的计数器数量为2。
现在,您已经了解了如何编写一个实用的算法来计算二叉树中权重为偶校验的节点数量。您可以根据需要使用这个算法来解决您的实际问题。