ブラッシングノート(11)-2つのリンクリストをマージ
タイトルの説明
単調増加する2つのリンクリストを入力し、2つのリンクリストを組み合わせたリストを出力します。もちろん、単調非減少ルールを満たすためには、合成リンクリストが必要です。
アイデア:再帰的な方法を使用する
/*
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;
}
}
};