ずっと5月

3日坊主してます

LeetCode#5 Merge Two Sorted Lists

2つのソート済みのListがあるからそれをマージしろっていう問題。 学生の時にCか何かでやった気がする

class Solution {
    func mergeTwoLists(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
        if l1 == nil {return l2}
        if l2 == nil {return l1}
        
        var result:ListNode? = ListNode.init(0)
        
        if l1!.val < l2!.val {
            result = l1
            result!.next = mergeTwoLists(l1!.next, l2)
        } else {
            result = l2
            result!.next = mergeTwoLists(l1, l2!.next)
        }
        return result
    }
}

これはほぼ最適解ママだった、気がする