1. 程式人生 > >17.合並兩個排序的鏈表

17.合並兩個排序的鏈表

pac .net -a enter spa span tracking data 空指針

技術分享技術分享


當代碼試圖訪問空指針指向的內存時程序就會崩潰,從而導致魯棒性問題。所以要對空鏈表單獨處理。

ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
{
if (pHead1 == NULL)
return pHead2;
else if (pHead2 == NULL)
return pHead1;
ListNode* pMergedHead = NULL;

if (pHead1->m_nValue < pHead2->m_nValue)
{
pMergedHead = pHead1;
pMergedHead->m_pNext = Merge(pHead1->m_pNext,pHead2);
}
else
{
pMergedHead = pHead2;
pMergedHead->m_pNext = Merge(pHead1, pHead2->m_pNext);


}
return pMergedHead;
}




17.合並兩個排序的鏈表