-
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 -
Code
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2){ if(pHead1 == NULL) return pHead2; if(pHead2 == NULL) return pHead1; ListNode* p1 = pHead1; ListNode* p2 = pHead2; ListNode* res = p1->val > p2->val ? pHead2 : pHead1; ListNode* p3 = res; if(res == pHead1){ p1 = p1->next; } if(res == pHead2){ p2 = p2->next; } while(p1 && p2){ if(p1->val <= p2->val){ p3->next = p1; p3 = p1; p1 = p1->next; }else if(p1->val > p2->val){ p3->next = p2; p3 = p2; p2 = p2->next; } } p3->next = p1 ? p1 : p2; return res; } };
【剑指Offer】合并两个排序的链表
最新推荐文章于 2022-08-17 18:22:29 发布