题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
/* 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 == nullptr) return pHead2; if (pHead2 == nullptr) return pHead1; ListNode *head = new ListNode(-1); ListNode *cur = head; while (pHead1 != nullptr && pHead2 != nullptr) { if (pHead1->val <= pHead2->val) { cur->next = pHead1; pHead1 = pHead1->next; } else if (pHead1->val > pHead2->val) { cur->next = pHead2; pHead2 = pHead2->next; } cur = cur->next; } if (pHead1 != nullptr) cur->next = pHead1; if (pHead2 != nullptr) cur->next = pHead2; return head->next; } };