Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9af80d3

Browse files
committed
添加 637.二叉树的层平均值 Scala版本
1 parent ba51a49 commit 9af80d3

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

‎problems/0102.二叉树的层序遍历.md‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,30 @@ func averageOfLevels(_ root: TreeNode?) -> [Double] {
10061006
return result
10071007
}
10081008
```
1009+
Scala:
1010+
```scala
1011+
// 637.二叉树的层平均值
1012+
object Solution {
1013+
import scala.collection.mutable
1014+
def averageOfLevels(root: TreeNode): Array[Double] = {
1015+
val res = mutable.ArrayBuffer[Double]()
1016+
val queue = mutable.Queue[TreeNode]()
1017+
queue.enqueue(root)
1018+
while (!queue.isEmpty) {
1019+
var sum = 0.0
1020+
var len = queue.size
1021+
for (i <- 0 until len) {
1022+
var curNode = queue.dequeue()
1023+
sum += curNode.value // 累加该层的值
1024+
if (curNode.left != null) queue.enqueue(curNode.left)
1025+
if (curNode.right != null) queue.enqueue(curNode.right)
1026+
}
1027+
res.append(sum / len) // 平均值即为sum/len
1028+
}
1029+
res.toArray // 最后需要转换为Array,return关键字可以省略
1030+
}
1031+
}
1032+
```
10091033

10101034
# 429.N叉树的层序遍历
10111035

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /