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 a317949

Browse files
committed
添加 116.填充每个节点的下一个右侧节点指针 Scala版本
1 parent 8030165 commit a317949

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1718,6 +1718,35 @@ func connect(_ root: Node?) -> Node? {
17181718
}
17191719
```
17201720

1721+
Scala:
1722+
```scala
1723+
// 116.填充每个节点的下一个右侧节点指针
1724+
object Solution {
1725+
import scala.collection.mutable
1726+
1727+
def connect(root: Node): Node = {
1728+
if (root == null) return root
1729+
val queue = mutable.Queue[Node]()
1730+
queue.enqueue(root)
1731+
while (!queue.isEmpty) {
1732+
val len = queue.size
1733+
val tmp = mutable.ListBuffer[Node]()
1734+
for (i <- 0 until len) {
1735+
val curNode = queue.dequeue()
1736+
tmp.append(curNode)
1737+
if (curNode.left != null) queue.enqueue(curNode.left)
1738+
if (curNode.right != null) queue.enqueue(curNode.right)
1739+
}
1740+
// 处理next指针
1741+
for (i <- 0 until tmp.size - 1) {
1742+
tmp(i).next = tmp(i + 1)
1743+
}
1744+
tmp(tmp.size-1).next = null
1745+
}
1746+
root
1747+
}
1748+
}
1749+
```
17211750
# 117.填充每个节点的下一个右侧节点指针II
17221751

17231752
[力扣题目链接](https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node-ii/)

0 commit comments

Comments
(0)

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