Skip to content

Commit 25d79fa

Browse files
authored
Merge pull request neetcode-gh#874 from MaratKhakim/102-BT-Level-Order-Kt
Kotlin: 102. Binary Tree Level Order Traversal
2 parents 689f96c + 9893d09 commit 25d79fa

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/**
2+
* Example:
3+
* var ti = TreeNode(5)
4+
* var v = ti.`val`
5+
* Definition for a binary tree node.
6+
* class TreeNode(var `val`: Int) {
7+
* var left: TreeNode? = null
8+
* var right: TreeNode? = null
9+
* }
10+
*/
11+
class Solution {
12+
fun levelOrder(root: TreeNode?): List<List<Int>> {
13+
val res = mutableListOf<List<Int>>()
14+
15+
if (root == null)
16+
return res
17+
18+
val queue = LinkedList<TreeNode>()
19+
queue.add(root)
20+
21+
while (!queue.isEmpty()) {
22+
val size = queue.size
23+
val level = mutableListOf<Int>()
24+
25+
repeat(size) {
26+
val node = queue.poll()
27+
level.add(node.`val`)
28+
29+
if (node.left != null)
30+
queue.add(node.left)
31+
32+
if (node.right != null)
33+
queue.add(node.right)
34+
}
35+
36+
res.add(level)
37+
}
38+
39+
return res
40+
}
41+
}

0 commit comments

Comments
 (0)