class Solution:
def averageOfLevels(self, root: Optional[TreeNode]) -> List[float]:
result = []
def traversal(root: TreeNode(), depth):
if len(result) == depth: result.append([])
result[depth].append(root.val)
if root.left: traversal(root.left, depth + 1)
if root.right: traversal(root.right, depth + 1)
traversal(root, 0)
res = []
import statistics
for i in range(len(result)):
res.append(statistics.mean(result[i]))
return res
递归思路:
很简单,就等于层序遍历二叉树