題目描述
輸入兩個遞增排列的鏈表,合併這兩個鏈表並新鏈表中的結點仍然是按照遞增排列的。
解析
用遞歸的方法,修改鏈表的指針域。
實現
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;
}