Skip to content

Commit 2323d4e

Browse files
authored
Create 1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List.cpp
1 parent a29109d commit 2323d4e

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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* deleteNodes(ListNode* head, int m, int n)
14+
{
15+
ListNode* p = head;
16+
while (p)
17+
{
18+
for (int i=0; i<m-1; i++)
19+
{
20+
p = p->next;
21+
if (!p) break;
22+
}
23+
24+
if (!p) break;
25+
26+
ListNode* q = p;
27+
for (int i=0; i<n; i++)
28+
{
29+
q = q->next;
30+
if (!q) break;
31+
}
32+
if (!q)
33+
{
34+
p->next = NULL;
35+
break;
36+
}
37+
else
38+
{
39+
p->next = q->next;
40+
p = p->next;
41+
}
42+
}
43+
44+
return head;
45+
46+
}
47+
};

0 commit comments

Comments
 (0)