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
34
35
36
37
38
39
| // @Title: 合并两个排序的链表 (合并两个排序的链表 LCOF)
// @Author: 15816537946@163.com
// @Date: 2022-02-13 16:29:08
// @Runtime: 8 ms
// @Memory: 4.4 MB
func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
if l1 == nil {
return l2
}
if l2 == nil {
return l1
}
head := new(ListNode)
cursor := head
for l1 != nil && l2 != nil {
var val int
if l1.Val < l2.Val {
val = l1.Val
l1 = l1.Next
} else {
val = l2.Val
l2 = l2.Next
}
head.Next = &ListNode{Val:val}
head = head.Next
}
if l1 != nil {
head.Next = l1
}
if l2 != nil {
head.Next = l2
}
return cursor.Next
}
|