/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param l1 ListNode类
* @param l2 ListNode类
* @return ListNode类
*/
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
// write code here
if (l1 == nullptr) {
return l2;
} else if (l2 == nullptr) {
return l1;
}
ListNode* newHead = nullptr;
if (l1->val < l2->val) {
newHead = l1;
newHead->next = mergeTwoLists(l1->next, l2);
} else {
newHead = l2;
newHead->next = mergeTwoLists(l1, l2->next);
}
return newHead;
}
};