递归方法:
- 都不为空,较小的节点指向后面合并的链表
- 为空,则返回另一个链表
ListNode* mergeTwoLists(ListNode * list1, ListNode * list2) {
if (list1 == nullptr) return list2;
if (list2 == nullptr) return list1;
ListNode * list;
ListNode * list1next = list1 -> next;
ListNode * list2next = list2 -> next;
if (list1 -> val < list2 -> val)
{
list = list1;
list -> next = mergeTwoLists(list1next, list2);
}
else
{
list = list2;
list -> next = mergeTwoLists(list1, list2next);
}
return list;
}