/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
ListNode *l3=new ListNode(5000);
ListNode *l31=l3;
if(l1==nullptr&&l2==nullptr){//如果输入俩链表都为空
return nullptr;
}
while(l1!=nullptr&&l2!=nullptr){
if(l1!=nullptr&&l2!=nullptr&&l1->val<=l2->val){
cout<<l1->val<<endl;
l31->next=l1;
l31=l31->next;
l1=l1->next;
}
if(l1!=nullptr&&l2!=nullptr&&l2->val<l1->val){
cout<<l2->val<<endl;
l31->next=l2;
l31=l31->next;
l2=l2->next;
}
}
while(l2==nullptr&&l1!=nullptr){
l31->next=l1;
l31=l31->next;
l1=l1->next;
}
while(l2!=nullptr&&l1==nullptr){
l31->next=l2;
l31=l31->next;
l2=l2->next;
}
l3=l3->next;
return l3;
}
};