File tree Expand file tree Collapse file tree 2 files changed +71
-0
lines changed Expand file tree Collapse file tree 2 files changed +71
-0
lines changed Original file line number Diff line number Diff line change @@ -311,6 +311,44 @@ public class Solution {
311
311
}
312
312
```
313
313
314
+ #### Swift
315
+
316
+ ``` swift
317
+ /* public class ListNode {
318
+ * var val: Int
319
+ * var next: ListNode?
320
+ * init(_ val: Int) {
321
+ * self.val = val
322
+ * self.next = nil
323
+ * }
324
+ * }
325
+ */
326
+
327
+ class Solution {
328
+ func mergeTwoLists (_ l1 : ListNode? , _ l2 : ListNode? ) -> ListNode? {
329
+ let dummy = ListNode (0 )
330
+ var cur: ListNode? = dummy
331
+ var l1 = l1
332
+ var l2 = l2
333
+
334
+ while let l1Node = l1, let l2Node = l2 {
335
+ if l1Node.val <= l2Node.val {
336
+ cur? .next = l1Node
337
+ l1 = l1Node.next
338
+ } else {
339
+ cur? .next = l2Node
340
+ l2 = l2Node.next
341
+ }
342
+ cur = cur? .next
343
+ }
344
+
345
+ cur? .next = l1 ?? l2
346
+
347
+ return dummy.next
348
+ }
349
+ }
350
+ ```
351
+
314
352
<!-- tabs: end -->
315
353
316
354
<!-- solution: end -->
Original file line number Diff line number Diff line change
1
+ /* public class ListNode {
2
+ * var val: Int
3
+ * var next: ListNode?
4
+ * init(_ val: Int) {
5
+ * self.val = val
6
+ * self.next = nil
7
+ * }
8
+ * }
9
+ */
10
+
11
+ class Solution {
12
+ func mergeTwoLists( _ l1: ListNode ? , _ l2: ListNode ? ) -> ListNode ? {
13
+ let dummy = ListNode ( 0 )
14
+ var cur : ListNode ? = dummy
15
+ var l1 = l1
16
+ var l2 = l2
17
+
18
+ while let l1Node = l1, let l2Node = l2 {
19
+ if l1Node. val <= l2Node. val {
20
+ cur? . next = l1Node
21
+ l1 = l1Node. next
22
+ } else {
23
+ cur? . next = l2Node
24
+ l2 = l2Node. next
25
+ }
26
+ cur = cur? . next
27
+ }
28
+
29
+ cur? . next = l1 ?? l2
30
+
31
+ return dummy. next
32
+ }
33
+ }
You can’t perform that action at this time.
0 commit comments