LeetCode 637. Average of Levels in Binary Tree
2020-05-17 11:13:19
# leetcode
Problem
LeetCode 637. Average of Levels in Binary Tree
1. 题目简述
给出一棵树,每个节点都是signed int类型,计算出每一层的平均值(double类型),将其放入一个list中后返回。例如:
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].
2. 算法思路
Queue + BFS
首先,我们要想好用什么方式对树进行遍历,BFS or DFS。这里涉及到层数,一层一层来计算,因此BFS相对更好一些。DFS则需要用Queue来对节点进行存储,问题是怎么样对不同层级来计算,这里在循环每一层之前,用一个size变量来记录当前Queue大小,这个大小就是这一层层级的节点数。
3. 解法
- 注意使用变量记录当前界定个数,方便循环。
1 |
|