0 题目
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
1 分析
递归实现。
这种方法是改变了原有节点。
ListNode *Merge(ListNode *pHead1, ListNode *pHead2)
{
// 如果一个链表空了,那么将另一个链表全都挂上去
if (pHead1 == nullptr)
return pHead2;
if (pHead2 == nullptr)
return pHead1;
ListNode *res = nullptr;
if (pHead1->val >= pHead2->val)
{
res = pHead2;
// res 后面再往后挂
res->next = Merge(pHead1, pHead2->next);
}
else
{
res = pHead1;
res->next = Merge(pHead1->next, pHead2);
}
return res;
}