合并两个有序链表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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;
}
|