File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
binary-tree-level-order-traversal Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change
1
+ // https://leetcode.com/problems/binary-tree-level-order-traversal/description/
2
+ /* *
3
+ * Example:
4
+ * var ti = TreeNode(5)
5
+ * var v = ti.`val`
6
+ * Definition for a binary tree node.
7
+ * class TreeNode(var `val`: Int) {
8
+ * var left: TreeNode? = null
9
+ * var right: TreeNode? = null
10
+ * }
11
+ */
12
+ class Solution {
13
+ fun levelOrder (root : TreeNode ? ): List <List <Int >> {
14
+ val result = mutableListOf<List <Int >>()
15
+ if (root == null ) return result
16
+
17
+ val queue: ArrayDeque <TreeNode > = ArrayDeque ()
18
+ queue.add(root)
19
+
20
+ while (queue.isNotEmpty()) {
21
+ val levelSize = queue.size
22
+ val level = mutableListOf<Int >()
23
+ repeat(levelSize) {
24
+ val node = queue.removeFirst()
25
+ level.add(node.`val `)
26
+ node.left?.let { queue.add(it) }
27
+ node.right?.let { queue.add(it) }
28
+ }
29
+ result.add(level)
30
+ }
31
+ return result
32
+ }
33
+ }
You can’t perform that action at this time.
0 commit comments