leetcode-21. 合并两个有序链表
题目:
代码:
#include <iostream>
using namespace std;
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) {}
};
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
ListNode* res = new ListNode(-1);
ListNode* prev=res;
while(l1!=nullptr && l2!=nullptr){
if(l1->val<=l2->val){
prev->next=l1;
l1=l1->next;
}else{
prev->next=l2;
l2=l2->next;
}
prev=prev->next;
}
if(l1!=nullptr){
prev->next=l1;
}
if(l2!=nullptr){
prev->next=l2;
}
return res->next;
}
int main(){
ListNode *l1,*l2,*res;
res=mergeTwoLists(l1,l2);
return 0;
}