21. Merge Two Sorted Lists
Problem
Input: 1->2->4, 1->3->4
Output: 1->1->2->3->4->4Analysis
Code
/**
* Definition for singly-linked list.
* class ListNode(var `val`: Int = 0) {
* var next: ListNode? = null
* }
*/
class Solution {
fun mergeTwoLists(l1: ListNode?, l2: ListNode?): ListNode? {
return when {
l1 == null -> l2
l2 == null -> l1
l1.`val` < l2.`val` -> {
l1.next = mergeTwoLists(l1.next, l2)
l1
}
else -> {
l2.next = mergeTwoLists(l1, l2.next)
l2
}
}
}
}Last updated