Skip to content

Commit 5671c95

Browse files
committed
Im bored
1 parent fe1fac3 commit 5671c95

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

21. Merge Two Sorted Lists.cpp

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* struct ListNode {
4+
* int val;
5+
* ListNode *next;
6+
* ListNode() : val(0), next(nullptr) {}
7+
* ListNode(int x) : val(x), next(nullptr) {}
8+
* ListNode(int x, ListNode *next) : val(x), next(next) {}
9+
* };
10+
*/
11+
class Solution {
12+
public:
13+
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
14+
ListNode* head = NULL;
15+
ListNode* prev = NULL;
16+
if(list1==NULL && list2==NULL)
17+
{
18+
return head;
19+
}
20+
while(list1!=NULL && list2!=NULL)
21+
{
22+
ListNode* newnode = new ListNode();
23+
24+
if(list1->val < list2->val)
25+
{
26+
newnode->val = list1->val;
27+
newnode->next = NULL;
28+
if(head==NULL)
29+
{
30+
head = newnode;
31+
prev = newnode;
32+
}
33+
else
34+
{
35+
prev->next = newnode;
36+
prev = newnode;
37+
}
38+
list1 = list1->next;
39+
}
40+
else
41+
{
42+
newnode->val = list2->val;
43+
newnode->next = NULL;
44+
if(head==NULL)
45+
{
46+
head = newnode;
47+
prev = newnode;
48+
}
49+
else
50+
{
51+
prev->next = newnode;
52+
prev = newnode;
53+
}
54+
list2 = list2->next;
55+
}
56+
}
57+
58+
if(list1==NULL && list2!=NULL)
59+
{
60+
if(prev!=NULL)
61+
{
62+
while(list2!=NULL)
63+
{
64+
ListNode* newnode = new ListNode();
65+
newnode->val = list2->val;
66+
newnode->next = NULL;
67+
prev->next = newnode;
68+
prev = newnode;
69+
list2 = list2->next;
70+
}
71+
}
72+
else
73+
{
74+
head = list2;
75+
}
76+
}
77+
else if(list1!=NULL && list2==NULL)
78+
{
79+
if(prev!=NULL)
80+
{
81+
while(list1!=NULL)
82+
{
83+
ListNode* newnode = new ListNode();
84+
newnode->val = list1->val;
85+
newnode->next = NULL;
86+
prev->next = newnode;
87+
prev = newnode;
88+
list1 = list1->next;
89+
}
90+
}
91+
else
92+
{
93+
head = list1;
94+
}
95+
}
96+
return head;
97+
}
98+
};

0 commit comments

Comments
 (0)