diff --git a/Linked_List/1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List/1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List.cpp b/Linked_List/1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List/1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List.cpp new file mode 100644 index 000000000..3e4caeaa6 --- /dev/null +++ b/Linked_List/1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List/1474.Delete-N-Nodes-After-M-Nodes-of-a-Linked-List.cpp @@ -0,0 +1,47 @@ +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * ListNode *next; + * ListNode() : val(0), next(nullptr) {} + * ListNode(int x) : val(x), next(nullptr) {} + * ListNode(int x, ListNode *next) : val(x), next(next) {} + * }; + */ +class Solution { +public: + ListNode* deleteNodes(ListNode* head, int m, int n) + { + ListNode* p = head; + while (p) + { + for (int i=0; inext; + if (!p) break; + } + + if (!p) break; + + ListNode* q = p; + for (int i=0; inext; + if (!q) break; + } + if (!q) + { + p->next = NULL; + break; + } + else + { + p->next = q->next; + p = p->next; + } + } + + return head; + + } +};