1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-16 16:36:56 +02:00
LeetCode/swift/merge-two-sorted-lists.swift
Matej Focko aa2008b326
problems(swift): add “21. Merge Two Sorted Lists”
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-12-12 14:44:38 +01:00

42 lines
1.1 KiB
Swift

/**
* Definition for singly-linked list.
* public class ListNode {
* public var val: Int
* public var next: ListNode?
* public init() { self.val = 0; self.next = nil; }
* public init(_ val: Int) { self.val = val; self.next = nil; }
* public init(_ val: Int, _ next: ListNode?) { self.val = val; self.next = next; }
* }
*/
class Solution {
func mergeTwoLists(_ list1: ListNode?, _ list2: ListNode?) -> ListNode? {
var list1 = list1
var list2 = list2
let head = ListNode()
var node: ListNode? = head
while list1 != nil && list2 != nil {
if list1!.val < list2!.val {
node!.next = list1
node = node!.next
list1 = list1!.next
} else {
node!.next = list2
node = node!.next
list2 = list2!.next
}
}
if list1 != nil {
node!.next = list1
}
if list2 != nil {
node!.next = list2
}
return head.next
}
}