 
   
    题目描述
   
给你一棵二叉树的根节点 root ,找出并返回满足要求的节点数,要求节点的值等于其 子树 中值的 平均值 。
注意:
    n 个元素的平均值可以由 n 个元素 求和 然后再除以 n ,并 向下舍入 到最近的整数。
    
    root 的 子树 由 root 和它的所有后代组成。
   
    Coding
   
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def averageOfSubtree(self, root: Optional[TreeNode]) -> int:
        cntNum=0
        def dfs(node:TreeNode):
            nonlocal cntNum
            if node==None: 
                return 0,0
            sum=node.val
            s,cnt=dfs(node.left)
            s2,cnt2=dfs(node.right)
            Num=cnt+cnt2+1
            sum+=s+s2
            if sum//Num == node.val:
                cntNum+=1
            return sum,Num
        dfs(root)
        return cntNum 
版权声明:本文为qq_36822894原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
