合并有序链表

来源:互联网 发布:殷保华用什么软件炒股 编辑:程序博客网 时间:2024/05/16 23:51
/从链表的头结点开始,若phead1>phead2,那么合并后链表的头结点是phead1.反之,则是phead2//剩余链表仍然有序,合并步骤同上一步一样,可采用递归的方法解决//边界条件 phead1为NULL,phead2为NULL#include<iostream>using namespace std;struct ListNode{    int value;    ListNode* next;};ListNode* Merge(ListNode* p1, ListNode* p2){    if (p1 == NULL)        return p2;    else if (p2 == NULL)        return p1;    ListNode * pMergeHead = NULL;    if (p1->value <= p2->value)    {        pMergeHead = p1;        pMergeHead->next = Merge(p1->next, p2);    }    else    {        pMergeHead = p2;        pMergeHead->next = Merge(p1, p2->next);    }    return pMergeHead;}
0 0