输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}
};*/
class Solution {
public:ListNode* Merge(ListNode* pHead1, ListNode* pHead2){ListNode* newHead=new ListNode(-1);//初始化ListNode* cur=newHead;while(pHead1&&pHead2)//只要一个为0;{if(pHead1->val<=pHead2->val){cur->next=pHead1;cur=pHead1;pHead1=pHead1->next;}else{cur->next=pHead2;cur=pHead2;pHead2=pHead2->next;}}if(pHead1==NULL)cur->next=pHead2;if(pHead2==NULL)cur->next=pHead1;return newHead->next; //初始化一个新的链表,不带第一个元素}
};