/**
* 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) {}
* };
*/
bool comparision(int a,int b)
{
return a<b;
}
class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
//子集为空
if(list1 ==nullptr || list2 ==nullptr)
{
cout<<"[]"<<endl;
}
ListNode* tempnode = new ListNode();
ListNode* TotalNode = tempnode;//指向第一个元素
//两个几集合都有元素
while((list1!=nullptr )&&(list2!=nullptr))
{
//比较指针的元素大小
if(list1->val < list2->val)
{
tempnode->next= list1;
list1 = list1->next;
}
else
{
tempnode->next = list2;
list2 = list2->next;
}
tempnode = tempnode->next;
}
//其中一个子集为空
tempnode->next = list1==nullptr?list2:list1;
return TotalNode->next;
}
};