Skip to content

Commit efa3b0b

Browse files
committed
solve #224
1 parent a28d380 commit efa3b0b

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

merge_two_sorted_lists.cpp

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include <iostream>
2+
3+
using namespace std;
4+
5+
struct ListNode {
6+
int val;
7+
ListNode *next;
8+
ListNode() : val(0), next(nullptr) {}
9+
ListNode(int x) : val(x), next(nullptr) {}
10+
ListNode(int x, ListNode *next) : val(x), next(next) {}
11+
};
12+
13+
class Solution {
14+
public:
15+
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
16+
if (!list1)
17+
return (list2);
18+
if (!list2)
19+
return (list1);
20+
21+
ListNode ans_head = ListNode();
22+
ListNode* tmp = &ans_head;
23+
24+
while (list1 && list2) {
25+
if (list1->val <= list2->val) {
26+
tmp->next = list1;
27+
list1 = list1->next;
28+
tmp = tmp->next;
29+
}
30+
else {
31+
tmp->next = list2;
32+
list2 = list2->next;
33+
tmp = tmp->next;
34+
}
35+
}
36+
if (list1) {
37+
tmp->next = list1;
38+
}
39+
else if (list2) {
40+
tmp->next = list2;
41+
}
42+
return (ans_head.next);
43+
}
44+
};

0 commit comments

Comments
 (0)