合并两个排序的链表

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

链表结点定义如下:

struct ListNode
{
    int m_nValue;
    ListNode * m_pNext;
}

代码如下:

ListNode * Merge(ListNode * head1, ListNode *head2)
{
     if(head1==NULL)
     {
          return head2;
     }
     if(head2==NULL)
     {
          return head1;
     }
     
     ListNode * pMergeHead = NULL;
     if(head1->m_nValue > head2->m_nValue)
     {
          pMergeHead = pHead1;
          pMergeHead->m_pNext = Merge(head1,head2->m_pNext);
     }
     else
     {
          pMergeHead = pHead2;
          pMergeHead->m_pNext = Merge(head1->m_pNext,head2); 
     }

     return pMergeHead;
}

合并两个排序的链表

上一篇:Codeforces Round #223 (Div. 1) ABCD


下一篇:Hadoop源码分析之NameNode的目录构成与类继承结构