剑指offer:合并两个排序的链表

来源:互联网 发布:nginx日志分析 编辑:程序博客网 时间:2024/04/30 01:17

题目:输入两个递增排序的链表,合并这两个链表并使新链表的节点仍然是递增排序的。

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;}
下面的程序可以看出,我们就是在两个链表中改写的,并没有新开一个链表,递归实际上也可以转化为循环。

0 0
原创粉丝点击