题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution
{
public:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
{
ListNode* pHead3=new ListNode(1000);
pHead3->next=NULL;
ListNode* p1=pHead1;
ListNode* p2=pHead2;
ListNode* p3=pHead3;
while(p1!=NULL||p2!=NULL)
{
ListNode* q=new ListNode(1);
if(p1==NULL){q->val=p2->val;p2=p2->next;}
else if(p2==NULL){q->val=p1->val;p1=p1->next;}
else if(p1->val<=p2->val){q->val=p1->val;p1=p1->next;}
else{q->val=p2->val;p2=p2->next;}
q->next=NULL;
p3->next=q;
p3=q;
}
pHead3=pHead3->next;
return pHead3;
}
};
查看4道真题和解析
