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