-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path21.MergeTwoSortedLists.kt
More file actions
33 lines (32 loc) · 872 Bytes
/
Copy path21.MergeTwoSortedLists.kt
File metadata and controls
33 lines (32 loc) · 872 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* Example:
* var li = ListNode(5)
* var v = li.`val`
* Definition for singly-linked list.
* class ListNode(var `val`: Int) {
* var next: ListNode? = null
* }
*/
class Solution {
fun mergeTwoLists(list1: ListNode?, list2: ListNode?): ListNode? {
var result:ListNode = ListNode(0) // head
// if(list1 == null) return list2
// if(list2 == null) return list1
var dummy:ListNode = result
var l1 = list1
var l2 = list2
while(l1 != null && l2 != null){
if(l1.`val` >= l2.`val`){
dummy.next = l2
l2 = l2.next
} else {
dummy.next = l1
l1 = l1.next
}
dummy = dummy.next
}
if(l1 != null) dummy.next = l1
if(l2 != null) dummy.next = l2
return result.next
}
}