本文主要是介绍637_二叉树的层平均值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受
思路
无需思路,乱杀
解答
# 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 averageOfLevels(self, root: Optional[TreeNode]) -> List[float]:if root is None:return []all_level = [root, ]ret = []while all_level:level_cnt = 0level_total = 0nxt_level = []for node in all_level:if node:level_cnt+=1level_total+=node.valnode.left and nxt_level.append(node.left) or Nonenode.right and nxt_level.append(node.right) or Noneif level_cnt > 0:ret.append(level_total/level_cnt)else:ret.append(None)all_level = nxt_levelreturn ret
这篇关于637_二叉树的层平均值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!