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 c922fbc

Browse files
committed
添加 429.N叉树的层序遍历 Scala版本
1 parent 9af80d3 commit c922fbc

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,6 +1274,34 @@ func levelOrder(_ root: Node?) -> [[Int]] {
12741274
}
12751275
```
12761276

1277+
Scala:
1278+
```scala
1279+
// 429.N叉树的层序遍历
1280+
object Solution {
1281+
import scala.collection.mutable
1282+
def levelOrder(root: Node): List[List[Int]] = {
1283+
val res = mutable.ListBuffer[List[Int]]()
1284+
if (root == null) return res.toList
1285+
val queue = mutable.Queue[Node]()
1286+
queue.enqueue(root) // 根节点入队
1287+
while (!queue.isEmpty) {
1288+
val tmp = mutable.ListBuffer[Int]() // 存储每层节点
1289+
val len = queue.size
1290+
for (i <- 0 until len) {
1291+
val curNode = queue.dequeue()
1292+
tmp.append(curNode.value) // 将该节点的值加入tmp
1293+
// 循环遍历该节点的子节点,加入队列
1294+
for (child <- curNode.children) {
1295+
queue.enqueue(child)
1296+
}
1297+
}
1298+
res.append(tmp.toList) // 将该层的节点放到结果集
1299+
}
1300+
res.toList
1301+
}
1302+
}
1303+
```
1304+
12771305
# 515.在每个树行中找最大值
12781306

12791307
[力扣题目链接](https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/)

0 commit comments

Comments
(0)

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