File tree 3 files changed +165
-0
lines changed
3 files changed +165
-0
lines changed Original file line number Diff line number Diff line change @@ -311,6 +311,62 @@ impl Solution {
311
311
}
312
312
```
313
313
314
+ ``` swift
315
+ /* class TreeNode {
316
+ * var val: Int
317
+ * var left: TreeNode?
318
+ * var right: TreeNode?
319
+ *
320
+ * init(_ val: Int) {
321
+ * self.val = val
322
+ * self.left = nil
323
+ * self.right = nil
324
+ * }
325
+ * }
326
+ */
327
+
328
+ /* class ListNode {
329
+ * var val: Int
330
+ * var next: ListNode?
331
+ *
332
+ * init(_ val: Int) {
333
+ * self.val = val
334
+ * self.next = nil
335
+ * }
336
+ * }
337
+ */
338
+
339
+ class Solution {
340
+ func listOfDepth (_ tree : TreeNode? ) -> [ListNode? ] {
341
+ var ans = [ListNode? ]()
342
+ guard let tree = tree else { return ans }
343
+
344
+ var q = [TreeNode]()
345
+ q.append (tree)
346
+
347
+ while ! q.isEmpty {
348
+ let dummy = ListNode (0 )
349
+ var cur = dummy
350
+ for _ in 0 ..< q.count {
351
+ let node = q.removeFirst ()
352
+ cur.next = ListNode (node.val )
353
+ cur = cur.next !
354
+
355
+ if let left = node.left {
356
+ q.append (left)
357
+ }
358
+ if let right = node.right {
359
+ q.append (right)
360
+ }
361
+ }
362
+ ans.append (dummy.next )
363
+ }
364
+
365
+ return ans
366
+ }
367
+ }
368
+ ```
369
+
314
370
<!-- tabs: end -->
315
371
316
372
<!-- end -->
Original file line number Diff line number Diff line change @@ -323,6 +323,62 @@ impl Solution {
323
323
}
324
324
```
325
325
326
+ ``` swift
327
+ /* class TreeNode {
328
+ * var val: Int
329
+ * var left: TreeNode?
330
+ * var right: TreeNode?
331
+ *
332
+ * init(_ val: Int) {
333
+ * self.val = val
334
+ * self.left = nil
335
+ * self.right = nil
336
+ * }
337
+ * }
338
+ */
339
+
340
+ /* class ListNode {
341
+ * var val: Int
342
+ * var next: ListNode?
343
+ *
344
+ * init(_ val: Int) {
345
+ * self.val = val
346
+ * self.next = nil
347
+ * }
348
+ * }
349
+ */
350
+
351
+ class Solution {
352
+ func listOfDepth (_ tree : TreeNode? ) -> [ListNode? ] {
353
+ var ans = [ListNode? ]()
354
+ guard let tree = tree else { return ans }
355
+
356
+ var q = [TreeNode]()
357
+ q.append (tree)
358
+
359
+ while ! q.isEmpty {
360
+ let dummy = ListNode (0 )
361
+ var cur = dummy
362
+ for _ in 0 ..< q.count {
363
+ let node = q.removeFirst ()
364
+ cur.next = ListNode (node.val )
365
+ cur = cur.next !
366
+
367
+ if let left = node.left {
368
+ q.append (left)
369
+ }
370
+ if let right = node.right {
371
+ q.append (right)
372
+ }
373
+ }
374
+ ans.append (dummy.next )
375
+ }
376
+
377
+ return ans
378
+ }
379
+ }
380
+ ```
381
+
326
382
<!-- tabs: end -->
327
383
328
384
<!-- end -->
Original file line number Diff line number Diff line change
1
+ /* class TreeNode {
2
+ * var val: Int
3
+ * var left: TreeNode?
4
+ * var right: TreeNode?
5
+ *
6
+ * init(_ val: Int) {
7
+ * self.val = val
8
+ * self.left = nil
9
+ * self.right = nil
10
+ * }
11
+ * }
12
+ */
13
+
14
+ /* class ListNode {
15
+ * var val: Int
16
+ * var next: ListNode?
17
+ *
18
+ * init(_ val: Int) {
19
+ * self.val = val
20
+ * self.next = nil
21
+ * }
22
+ * }
23
+ */
24
+
25
+ class Solution {
26
+ func listOfDepth( _ tree: TreeNode ? ) -> [ ListNode ? ] {
27
+ var ans = [ ListNode? ] ( )
28
+ guard let tree = tree else { return ans }
29
+
30
+ var q = [ TreeNode] ( )
31
+ q. append ( tree)
32
+
33
+ while !q. isEmpty {
34
+ let dummy = ListNode ( 0 )
35
+ var cur = dummy
36
+ for _ in 0 ..< q. count {
37
+ let node = q. removeFirst ( )
38
+ cur. next = ListNode ( node. val)
39
+ cur = cur. next!
40
+
41
+ if let left = node. left {
42
+ q. append ( left)
43
+ }
44
+ if let right = node. right {
45
+ q. append ( right)
46
+ }
47
+ }
48
+ ans. append ( dummy. next)
49
+ }
50
+
51
+ return ans
52
+ }
53
+ }
You can’t perform that action at this time.
0 commit comments