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