class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
if(list1==NULL)
{
return list2;
}
if(list2==NULL)
{
return list1;
}
ListNode* node=new ListNode(0);
ListNode* tmp=node;
while(list1!=NULL && list2!=NULL)
{
if(list1->val >= list2->val)
{
tmp->next=list2;
list2=list2->next;
}
else
{
tmp->next=list1;//tmp指向这个结点
list1=list1->next;//指针指向下一个结点
}
tmp=tmp->next;//更新tmp
if(list1==NULL)
{
tmp->next=list2;
return node->next;
}
if(list2==NULL)
{
tmp->next=list1;
return node->next;
}
}
return node->next;
}
};