Desicription
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
class { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode* head = nullptr; ListNode* current = nullptr; while(pHead1 || pHead2) { if(head == nullptr) { if(pHead1 == nullptr) { head = pHead2; pHead2 = pHead2->next; } else if(pHead2 == nullptr) { head = pHead1; pHead1 = pHead1->next; } else { if(pHead1->val <= pHead2->val) { head = pHead1; pHead1 = pHead1->next; } else { head = pHead2; pHead2 = pHead2->next; } } current = head; } else { if(pHead1 == nullptr) { current->next = pHead2; pHead2 = pHead2->next; } else if(pHead2 == nullptr) { current->next = pHead1; pHead1 = pHead1->next; } else { if(pHead1->val <= pHead2->val) { current->next = pHead1; pHead1 = pHead1->next; } else { current->next = pHead2; pHead2 = pHead2->next; } } current = current->next; } } return head; } };
|
近期评论