题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode* h1 = new ListNode(0); ListNode* h2 = h1; while(pHead1 != NULL && pHead2 != NULL){ if(pHead1->val < pHead2->val){ h1->next = pHead1; pHead1=pHead1->next; h1 = h1->next; }else if(pHead1->val >= pHead2->val){ h1->next = pHead2; pHead2=pHead2->next; h1 = h1->next; } h1->next = NULL; } if(pHead1){ h1->next = pHead1; }else if(pHead2){ h1->next = pHead2; } return h2->next; } };