給定乙個非空二叉樹, 返回乙個由每層節點平均值組成的陣列.
示例 1:
輸入:注意:3/ \
9 20
/ \
15 7
輸出: [3, 14.5, 11]
解釋:第0層的平均值是 3, 第1層是 14.5, 第2層是 11. 因此返回 [3, 14.5, 11].
節點值的範圍在32位有符號整數範圍內。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
ret.push_back(level/size);
}return ret;
}};
從題目的示例我們可以大概知道題目要求我們遍歷二叉樹的每層節點並計算其平均值。二叉樹的搜尋遍歷無外乎這幾種方法:先序遍歷、中序遍歷、後序遍歷、bfs、dfs。結合題目,很顯然bfs是比較適合題目的一種方法。
我們先往佇列中push根節點,然後當佇列不為空的時候,遍歷整個佇列。每遍歷佇列中的乙個節點,就取出它的值並將其pop。此時順帶檢查它的左右子節點是否為空,如果不為空,就將其子節點push進入佇列中。這樣,剛好遍歷完一層節點,下一層的節點就全部存到佇列中了。一層層迴圈下去直到最後一層,問題便順利得到了解決。
LeetCode 637 二叉樹的層平均值
題目 給定乙個非空二叉樹,返回乙個由每層節點平均值組成的陣列.示例 1 輸入 3 9 20 15 17 輸出 3,14.5,11 解釋 第0層的平均值是 3,第1層是 14.5,第2層是 11.因此返回 3,14.5,11 原始碼 definition for a binary tree node....
leetcode 637 二叉樹的層平均值
題目鏈結 給定乙個非空二叉樹,返回乙個由每層節點平均值組成的陣列。definition for a binary tree node.struct treenode class solution if node right results.push back total 1.0 n total 0 ...
LeetCode 637 二叉樹的層平均值
給定乙個非空二叉樹,返回乙個由每層節點平均值組成的陣列.示例 1 輸入 3 920 157輸出 3,14.5,11 解釋 第0層的平均值是 3,第1層是 14.5,第2層是 11.因此返回 3,14.5,11 注意 節點值的範圍在32位有符號整數範圍內。definition for a binary...