class Solution(object): def averageOfLevels(self, root): """ :type root: TreeNode :rtype: List[float] 实现方法: 设置两个数组,一个用于记录每层树的总和,一颗树记录每层树的节点个数; """ sum=[0.0 for i in range(1000)] count=[0.0 for i in range(10000)] num=0 def all(root,num): if root: sum[num]=sum[num]+root.val count[num]=1+count[num] all(root.left,num+1) all(root.right,num+1) all(root,num) res=[] for i in range(len(sum)): if count[i]!=0: res.append(sum[i]/count[i]) return res
def levelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ result=[] def all(root,level): if root: if len(result)<level+1: result.append([]) result[level].append(root.val) all(root.left,level+1) all(root.right,level+1) all(root,0) return result
原文:https://www.cnblogs.com/qian2015/p/10505676.html