Skip to content

Commit 24ec9b7

Browse files
authored
feat: add swift implementation to lcof problem: No.32 (#2902)
1 parent 4434d63 commit 24ec9b7

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

lcof/面试题32 - I. 从上到下打印二叉树/README.md

+41
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,47 @@ public class Solution {
346346
}
347347
```
348348

349+
#### Swift
350+
351+
```swift
352+
/* public class TreeNode {
353+
* var val: Int
354+
* var left: TreeNode?
355+
* var right: TreeNode?
356+
* init(_ val: Int) {
357+
* self.val = val
358+
* self.left = nil
359+
* self.right = nil
360+
* }
361+
* }
362+
*/
363+
364+
class Solution {
365+
func levelOrder(_ root: TreeNode?) -> [Int] {
366+
guard let root = root else {
367+
return []
368+
}
369+
370+
var queue: [TreeNode] = [root]
371+
var result: [Int] = []
372+
373+
while !queue.isEmpty {
374+
let node = queue.removeFirst()
375+
result.append(node.val)
376+
377+
if let left = node.left {
378+
queue.append(left)
379+
}
380+
if let right = node.right {
381+
queue.append(right)
382+
}
383+
}
384+
385+
return result
386+
}
387+
}
388+
```
389+
349390
<!-- tabs:end -->
350391

351392
<!-- solution:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/* public class TreeNode {
2+
* var val: Int
3+
* var left: TreeNode?
4+
* var right: TreeNode?
5+
* init(_ val: Int) {
6+
* self.val = val
7+
* self.left = nil
8+
* self.right = nil
9+
* }
10+
* }
11+
*/
12+
13+
class Solution {
14+
func levelOrder(_ root: TreeNode?) -> [Int] {
15+
guard let root = root else {
16+
return []
17+
}
18+
19+
var queue: [TreeNode] = [root]
20+
var result: [Int] = []
21+
22+
while !queue.isEmpty {
23+
let node = queue.removeFirst()
24+
result.append(node.val)
25+
26+
if let left = node.left {
27+
queue.append(left)
28+
}
29+
if let right = node.right {
30+
queue.append(right)
31+
}
32+
}
33+
34+
return result
35+
}
36+
}

0 commit comments

Comments
 (0)