637 Average of Levels in Binary Tree

637. Average of Levels in Binary Tree

1. Question

Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array.

Example 1:

Input:

    3
   / \
  9  20
    /  \
   15   7

Output:
 [3, 14.5, 11]

Explanation:

The average value of nodes on level 0 is 3,  on level 1 is 14.5, and on level 2 is 11. Hence return [3, 14.5, 11].

Note:

  1. The range of node's value is in the range of 32-bit signed integer.

2. Implementation

(1) BFS

(2) DFS

思路:主要是维护两个数组,分别记录每一层的levelSum, 和对应的size

3. Time & Space Complexity

BFS: 时间复杂度: O(n), 空间复杂度:O(w),w是一行里有最多的node的个数

DFS: 时间复杂度: O(n), 空间复杂度:O(h), h是树的高度

Last updated

Was this helpful?