刷题笔记(十一)——合并两个链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路:采用递归方式
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* Merge(ListNode* p, ListNode* q)
{
if(p==NULL)return q;
if(q==NULL)return p;
if(p->val<=q->val)
{ p->next=Merge(p->next,q);
return p;
}
else
{
q->next=Merge(p, q->next);
return q;
}
}
};