LeetCode刷题(C++)——Merge Two Sorted Lists(Easy)

xiaoxiao2021-02-28  77

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (l1 == NULL&&l2 == NULL) return NULL; if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode* p1 = l1; ListNode* p2 = l2; ListNode* pHead = new ListNode(-1); ListNode* pNext = pHead; while (p1 != NULL&&p2 != NULL) { if (p1->val > p2->val) { pNext->next = p2; pNext = pNext->next; p2 = p2->next; } else { pNext->next = p1; pNext = pNext->next; p1 = p1->next; } } if(p1 != NULL) pNext->next = p1; if(p2 != NULL) pNext->next = p2; return pHead->next; } };

转载请注明原文地址: https://www.6miu.com/read-64164.html

最新回复(0)