0%

合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例:

1
2
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

解答:

1
2
3
4
5
6
7
8
9
10
ListNode * mergeTwoLists(ListNode* l1, ListNode* l2) {
if (!l1 && !l2) {
return nullptr;
}
if (!l1 || l1 && l2 && l1->val > l2->val) {
swap(l1, l2);
}
l1->next = mergeTwoLists(l2, l1->next);
return l1;
}