微软100题(42)排序链表的合并

来源:互联网 发布:caliber软件 编辑:程序博客网 时间:2024/04/29 18:09

题目:

将两个排序链表合并


递归解法

ListNode* MergeList(ListNode* phead1,ListNode* phead2)
{
if(phead2==NULL) return phead1;
if(phead1==NULL) return phead2;
ListNode* pMergehead = NULL;
if(phead1->m_value<phead2->m_value)
{
pMergehead = phead1;
pMergehead->m_pnext = MergeList(phead1->m_pnext,phead2);
}
else
{
pMergehead = phead2;
pMergehead->m_pnext = MergeList(phead1,phead2->m_pnext);
}
return pMergehead;
}

0 0