合并两个排序的链表

来源:互联网 发布:淘宝如何设置单件包邮 编辑:程序博客网 时间:2024/06/12 00:34

合并两个排序的链表

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

struct ListNode{    int m_value ;    ListNode* m_pNext;}

利用递归的思想,来完成合并的过程。
代码:

ListNode* Merge(ListNode* pHead1 ,ListNode* pHead2){    if(NULL == pHead1)    return pHead2;    else if(NULL == pHead2)    return pHead1;    ListNode* pMergeHead = NULL ;    if(pHead1->m_value<=pHead2->m_value)    {        pMergeHead = pHead1;        pMergeHead->m_pNext = Merge(pHead1->m_pNext,pHead2);    }else    {        pMergeHead = pHead2;        pMergeHead->m_pNext = Merge(pHead1,pHead2->m_pNext);    }    return pMergeHead ;}
0 0
原创粉丝点击