题目描述
输入两个递增排列的链表,合并这两个链表并新链表中的结点仍然是按照递增排列的。
解析
用递归的方法,修改链表的指针域。
实现
ListNode* Merge(ListNode* pHead1, ListNode* pHead2){
if (pHead1 == NULL)
return pHead2;
if (pHead2 == NULL)
return pHead1;
ListNode* pMergeHead = NULL;
if (pHead1->m_nValue < pHead2->m_nValue){
pMergeHead = pHead1;
pMergeHead->m_pNext = Merge(pHead1->m_pNext, pHead2);
}
else{
pMergeHead = pHead2;
pMergeHead->m_pNext = Merge(pHead1, pHead2->m_pNext);
}
return pMergeHead;
}