Skip to content

Commit bbbd218

Browse files
author
Dmitriy Buzulutskiy
committed
Create 102-Binary-Tree-Level-Order-Traversal.swift
1 parent 5161ef7 commit bbbd218

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution {
2+
func levelOrder(_ root: TreeNode?) -> [[Int]] {
3+
guard let root = root else { return [] }
4+
var queue = [TreeNode]()
5+
var result = [[Int]]()
6+
queue.append(root)
7+
while !queue.isEmpty {
8+
var levelCount = queue.count
9+
var levelNodes = [Int]()
10+
while levelCount > 0 {
11+
let node = queue.first!
12+
queue.removeFirst()
13+
levelCount -= 1
14+
levelNodes.append(node.val)
15+
if let left = node.left {
16+
queue.append(left)
17+
}
18+
19+
if let right = node.right {
20+
queue.append(right)
21+
}
22+
}
23+
result.append(levelNodes)
24+
}
25+
return result
26+
}
27+
28+
}

0 commit comments

Comments
 (0)