{"id":3767,"date":"2021-08-10T12:00:54","date_gmt":"2021-08-10T12:00:54","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=3767"},"modified":"2022-11-18T07:08:49","modified_gmt":"2022-11-18T07:08:49","slug":"delete-n-nodes-after-m-nodes-of-a-linked-list","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/","title":{"rendered":"Delete N nodes after M nodes of a Linked List"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png\" alt=\"\" \/><\/p>\n<p>In this tutorial, we are going to learn how to Delete N nodes after M nodes of a Linked List. Let\u2019s see the problem statement for a better understanding. <\/p>\n<\/p>\n<h3>Problem Statement of Delete N nodes after M nodes of a Linked List<\/h3>\n<p>In this question, we are given a singly linked list, a value M and a value N. We have to delete N nodes after M nodes of the given list. This means that we will keep M nodes, delete N nodes, and will continue this till we reach the end of the linked list.<\/p>\n<h3>Problem Statement Understanding of Delete N nodes after M nodes of a Linked List<\/h3>\n<p>Let the given list be 1 -&gt; 2 -&gt; 3 -&gt; 4 -&gt; 56 -&gt; 45 -&gt; 7 -&gt; 8 and the value of M=2 and N=2. This means that after every 2 nodes, we will delete 2 nodes. <\/p>\n<p>So, in the first step, our linked list will be  1 -&gt; 2 -&gt; 56 -&gt; 45 -&gt; 7 -&gt; 8. As we can see, we have removed the 3<sup>rd<\/sup> and 4<sup>th<\/sup> nodes from the list. Now, in the second step, our linked list will be 1 -&gt; 2 -&gt; 56 -&gt; 45. Now, we have reached the tail of the list. <\/p>\n<p>So, the final linked list is 1 &#8211; &gt; 2 &#8211; &gt; 56 &#8211; &gt; 45.<\/p>\n<p><strong>Input:<\/strong> M=2, N=2 <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Delete-N-nodes-after-M-nodes-of-a-Linked-List-input-01.png\" alt=\"\" \/><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Delete-N-nodes-after-M-nodes-of-a-Linked-List-output-01.png\" alt=\"\" \/><\/p>\n<p><strong>Explanation:<\/strong> As the value of M is 2 and the value of N is 2, we will retain 2 nodes and delete 2 nodes till we reach the end of the list. <\/p>\n<p>This is an interesting question. It is not a complex one, but we have to look out for all the edge cases. Let us have a glance at the approach.<\/p>\n<h3>Approach on how to Delete N nodes after M nodes of a Linked List <\/h3>\n<p>We are going to make use of list traversal here. First, we will skip M nodes. Now, if we reach the end of the list, then we will terminate the method, else, we will store the address of the M<sup>th<\/sup> node in the current and temp will point to the (M+1)<sup>th<\/sup> node which is next of current. Now, we will traverse the next N nodes, and increment temp. In the end, we will make the M<sup>th<\/sup> node point to the temp, and temp will become our new current. <\/p>\n<h3>Algorithm of how to Delete N nodes after M nodes of a Linked List<\/h3>\n<ul>\n<li>Create a node current, and make it point to the head.<\/li>\n<li>Traverse through the list till the end is reached.<\/li>\n<li>Skip M nodes. We can do this with the help of a for a loop. In every iteration, do current = current -&gt; next.<\/li>\n<li>Now, if the current becomes NULL, it means that we have reached the end of the list. We will terminate the method.<\/li>\n<li>Else, store the next current in temp. Write a for loop that runs N times, and increment temp by 1 in each iteration.<\/li>\n<li>After the loop, make the current point to temp.<\/li>\n<li>The temp will become our new current.<\/li>\n<\/ul>\n<h3>Dry Run on how to Delete N nodes after M nodes of a Linked List <\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Delete-N-nodes-after-M-nodes-of-a-Linked-List-dry-run-01.png\" alt=\"\" \/><\/p>\n<h3>Code Implementation<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_3771 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_3771 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_3771 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_3771 .wpsm_nav-tabs > li.active > a, #tab_container_3771 .wpsm_nav-tabs > li.active > a:hover, #tab_container_3771 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_3771 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_3771 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_3771 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_3771 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_3771 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_3771 .wpsm_nav-tabs > li > a:hover , #tab_container_3771 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_3771 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_3771 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_3771 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_3771 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_3771 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_3771 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_3771 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_3771 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_3771 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_3771 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_3771 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_3771\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_3771\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_3771_1\" aria-controls=\"tabs_desc_3771_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_3771_2\" aria-controls=\"tabs_desc_3771_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_3771_3\" aria-controls=\"tabs_desc_3771_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_3771_4\" aria-controls=\"tabs_desc_3771_4\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Python<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_3771\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_3771_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &lt;stdio.h&gt;\r\n#include &lt;stdlib.h&gt;\r\n \r\n\/\/ A linked list node\r\nstruct Node\r\n{\r\n    int data;\r\n    struct Node *next;\r\n};\r\n \r\n\/* Function to insert a node at the beginning *\/\r\nvoid push(struct Node ** head_ref, int new_data)\r\n{\r\n    \/* allocate node *\/\r\n    struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));\r\n \r\n    new_node-&gt;data  = new_data;\r\n \r\n    new_node-&gt;next = (*head_ref);\r\n \r\n    (*head_ref)  = new_node;\r\n}\r\n \r\nvoid printList(struct Node *head)\r\n{\r\n    struct Node *temp = head;\r\n    while (temp != NULL)\r\n    {\r\n        printf(&quot;%d &quot;, temp-&gt;data);\r\n        temp = temp-&gt;next;\r\n    }\r\n    printf(&quot;&#92;n&quot;);\r\n}\r\nvoid skipMdeleteN(struct Node  *head, int M, int N)\r\n{\r\n    struct Node *curr = head, *t;\r\n    int count;\r\n \r\n    while (curr)\r\n    {\r\n        \/\/ Skip M nodes\r\n        for (count = 1; count&lt;m &amp;&amp;=&quot;&quot; curr!=&quot;NULL;&quot; count++)=&quot;&quot; curr=&quot;curr-&quot;&gt;next;\r\n        if (curr == NULL)\r\n            return;\r\n \r\n        t = curr-&gt;next;\r\n        for (count = 1; count&lt;=N &amp;&amp; t!= NULL; count++)\r\n        {\r\n            struct Node *temp = t;\r\n            t = t-&gt;next;\r\n            free(temp);\r\n        }\r\n        curr-&gt;next = t; \/\/ Link the previous list with remaining nodes\r\n \r\n        curr = t;\r\n    }\r\n}\r\n \r\n\/\/ Driver program to test above functions\r\nint main()\r\n{\r\n    struct Node* head = NULL;\r\n    int M=2, N=3;\r\n    push(&amp;head, 10);\r\n    push(&amp;head, 9);\r\n    push(&amp;head, 8);\r\n    push(&amp;head, 7);\r\n    push(&amp;head, 6);\r\n    push(&amp;head, 5);\r\n    push(&amp;head, 4);\r\n    push(&amp;head, 3);\r\n    push(&amp;head, 2);\r\n    push(&amp;head, 1);\r\n \r\n    printf(&quot;M = %d, N = %d &#92;nGiven Linked list is :&#92;n&quot;, M, N);\r\n    printList(head);\r\n \r\n    skipMdeleteN(head, M, N);\r\n \r\n    printf(&quot;&#92;nLinked list after deletion is :&#92;n&quot;);\r\n    printList(head);\r\n \r\n    return 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_3771_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &lt;bits stdc++.h=&quot;&quot;&gt;\r\nusing namespace std;\r\n\r\nclass Node\r\n{\r\n    public:\r\n    int data;\r\n    Node *next;\r\n};\r\n\r\nvoid push(Node ** head_ref, int new_data)\r\n{\r\n    Node* new_node = new Node();\r\n\r\n    new_node-&gt;data = new_data;\r\n\r\n    new_node-&gt;next = (*head_ref);\r\n\r\n    (*head_ref) = new_node;\r\n}\r\n\r\nvoid printList(Node *head)\r\n{\r\n    Node *temp = head;\r\n    while (temp != NULL)\r\n    {\r\n        cout&lt;&lt;temp-&gt;data&lt;&lt;&quot; &quot;;\r\n        temp = temp-&gt;next;\r\n    }\r\n    cout&lt;&lt;endl; }=&quot;&quot; void=&quot;&quot; skipmdeleten(node=&quot;&quot; *head,=&quot;&quot; int=&quot;&quot; m,=&quot;&quot; n)=&quot;&quot; {=&quot;&quot; node=&quot;&quot; *curr=&quot;head,&quot; *t;=&quot;&quot; count;=&quot;&quot; while=&quot;&quot; (curr)=&quot;&quot; for=&quot;&quot; (count=&quot;1;&quot; count=&quot;&quot; &lt;=&quot;&quot; m=&quot;&quot; &amp;&amp;=&quot;&quot; curr!=&quot;NULL;&quot; count++)=&quot;&quot; curr=&quot;curr-&quot;&gt;next;\r\n \r\n\r\n        if (curr == NULL)\r\n            return;\r\n \r\n\r\n        t = curr-&gt;next;\r\n        for (count = 1; count&lt;=N &amp;&amp; t!= NULL; count++)\r\n        {\r\n            Node *temp = t;\r\n            t = t-&gt;next;\r\n            free(temp);\r\n        }\r\n\r\n        curr-&gt;next = t;\r\n\r\n        curr = t;\r\n    }\r\n}\r\n\r\nint main()\r\n{\r\n\r\n    Node* head = NULL;\r\n    int M=2, N=2;\r\n    push(&amp;head, 8);\r\n    push(&amp;head, 7);\r\n    push(&amp;head, 45);\r\n    push(&amp;head, 56);\r\n    push(&amp;head, 4);\r\n    push(&amp;head, 3);\r\n    push(&amp;head, 2);\r\n    push(&amp;head, 1);\r\n    cout &lt;&lt; &quot;M = &quot; &lt;&lt; M&lt;&lt; &quot; N = &quot; &lt;&lt; N &lt;&lt; &quot;&#92;nGiven Linked list is :&#92;n&quot;;\r\n    printList(head);\r\n \r\n    skipMdeleteN(head, M, N);\r\n \r\n    cout&lt;&lt;&quot;&#92;nLinked list after deletion is :&#92;n&quot;;\r\n    printList(head);\r\n \r\n    return 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_3771_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nimport java.util.*;\r\n\r\npublic class PrepBytes\r\n{\r\n\r\nstatic class Node\r\n{\r\n    int data;\r\n    Node next;\r\n};\r\n\r\nstatic Node push( Node head_ref, int new_data)\r\n{\r\n        Node new_node = new Node();\r\n\r\n\r\n    new_node.data = new_data;\r\n\r\n    new_node.next = (head_ref);\r\n\r\n    (head_ref) = new_node;\r\n    \r\n    return head_ref;\r\n}\r\n\r\nstatic void printList( Node head)\r\n{\r\n    Node temp = head;\r\n    while (temp != null)\r\n    {\r\n        System.out.printf(\"%d \", temp.data);\r\n        temp = temp.next;\r\n    }\r\n    System.out.printf(\"&#92;n\");\r\n}\r\n\r\nstatic void skipMdeleteN( Node head, int M, int N)\r\n{\r\n    Node curr = head, t;\r\n    int count;\r\n\r\n    while (curr!=null)\r\n    {\r\n        \/\/ Skip M nodes\r\n        for (count = 1; count < M && curr != null; count++)\r\n            curr = curr.next;\r\n\r\n        if (curr == null)\r\n            return;\r\n\r\n        t = curr.next;\r\n        for (count = 1; count <= N && t != null; count++)\r\n        {\r\n            Node temp = t;\r\n            t = t.next;\r\n        }\r\n\r\n        curr.next = t;\r\n\r\n        curr = t;\r\n    }\r\n}\r\n\r\n\r\npublic static void main(String args[])\r\n{\r\n\r\n    Node head = null;\r\n    int M=2, N=2;\r\n    head=push(head, 8);\r\n    head=push(head, 7);\r\n    head=push(head, 45);\r\n    head=push(head, 56);\r\n    head=push(head, 4);\r\n    head=push(head, 3);\r\n    head=push(head, 2);\r\n    head=push(head, 1);\r\n    System.out.printf(\"M = %d, N = %d &#92;nGiven\" +\r\n                        \"Linked list is :&#92;n\", M, N);\r\n    printList(head);\r\n\r\n    skipMdeleteN(head, M, N);\r\n\r\n    System.out.printf(\"&#92;nLinked list after deletion is :&#92;n\");\r\n    printList(head);\r\n}\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_3771_4\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"python\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nclass Node:\r\n    def __init__(self, data):\r\n        self.data = data\r\n        self.next = None\r\n\r\nclass LinkedList:\r\n\r\n    def __init__(self):\r\n        self.head = None\r\n\r\n    def push(self, new_data):\r\n        new_node = Node(new_data)\r\n        new_node.next = self.head\r\n        self.head = new_node\r\n\r\n    def printList(self):\r\n        temp = self.head\r\n        while(temp):\r\n            print (temp.data,end=\" \")\r\n            temp = temp.next\r\n\r\n    def skipMdeleteN(self, M, N):\r\n        curr = self.head\r\n        \r\n        while(curr):\r\n            # Skip M nodes\r\n            for count in range(1, M):\r\n                if curr is None:\r\n                    return\r\n                curr = curr.next\r\n                    \r\n            if curr is None :\r\n                return\r\n\r\n            t = curr.next\r\n            for count in range(1, N+1):\r\n                if t is None:\r\n                    break\r\n                t = t.next\r\n    \r\n            curr.next = t\r\n            curr = t\r\n\r\nllist = LinkedList()\r\nM = 2\r\nN = 2\r\nllist.push(8)\r\nllist.push(7)\r\nllist.push(45)\r\nllist.push(56)\r\nllist.push(4)\r\nllist.push(3)\r\nllist.push(2)\r\nllist.push(1)\r\n\r\nprint (\"M = %d, N = %d&#92;nGiven Linked List is:\" %(M, N))\r\nllist.printList()\r\nprint()\r\n\r\nllist.skipMdeleteN(M, N)\r\n\r\nprint (\"&#92;nLinked list after deletion is\")\r\nllist.printList()\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_3771 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_3771 a\"),jQuery(\"#tab-content_3771\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<h4>Output<\/h4>\n<p><strong>Given Linked list<\/strong><br \/>\n1 2 3 4 56 45 7 8 <\/p>\n<p><strong>Linked list after deletion<\/strong><br \/>\n1 2 56 45<\/p>\n<p><strong>Time Complexity:<\/strong> O(n), as no nested traversal is needed.<br \/>\n<strong>Space Complexity:<\/strong> O(1), as only temporary variables are being created.<\/p>\n<p>So, in this article, we have tried to explain the most efficient approach to delete N nodes after M nodes of a linked list. This is an important question when it comes to coding interviews. If you want to solve more questions on Linked List, which is curated by our expert mentors at PrepBytes, you can follow this link <a href=\"https:\/\/mycode.prepbytes.com\/interview-coding\/practice\/linked-list\">Linked List<\/a>.<\/p>\n<table width=\"641\">\n<tbody>\n<tr>\n<td colspan=\"2\" width=\"641\" style=\"text-align: center\"><strong>Related Articles<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/doubly-circular-linked-list-introduction-and-insertion\/\">Doubly circular linked list in data structure<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/advantages-disadvantages-and-uses-of-a-doubly-linked-list\/\">Application of doubly linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/applications-of-linked-list-data-structure\/\">Applications of linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/difference-between-a-singly-linked-list-and-a-doubly-linked-list\/\">Singly linked list vs doubly linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/advantage-and-disadvantage-of-linked-list-over-array\/\">Advantages and disadvantages of linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/menu-driven-program-for-all-operations-on-doubly-linked-list-in-c\/\">Doubly linked list all operations in C<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/binary-search\/binary-search-on-linked-list\/\">Binary search in linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/bubble-sort-for-linked-list-by-swapping-nodes\/\">Bubble sort linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/delete-a-node-in-doubly-linked-list\/\">Deletion in doubly linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/delete-middle-of-linked-list\/\">Delete the middle node of a linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/adding-two-polynomials-using-linked-list\/\">Polynomial addition using linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/find-the-smallest-and-largest-elements-in-a-singly-linked-list\/\">Find max value and min value in linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/insert-a-node-at-a-specific-position-in-a-linked-list\/\">Insert a node at a specific position in a linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/swap-nodes-in-a-linked-list-without-swapping-data\/\">Swap nodes in linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/add-two-numbers-represented-by-linked-lists-set-1\/\">Add two numbers represented by linked lists<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/find-the-first-node-of-the-loop-in-a-linked-list\/\">Find starting point of loop in linked list<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/merge-sort-on-a-singly-linked-list\/\">Merge sort linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/delete-a-node-at-a-given-position\/\">Delete a node from linked list at a given position<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/remove-duplicates-from-an-unsorted-linked-list\/\">Remove duplicates from unsorted linked list<\/a><\/td>\n<td width=\"321\"><a href=\"https:\/\/prepbytes.com\/blog\/python\/python-program-to-reverse-a-linked-list\/\">Reverse a linked list in Python<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>FAQs<\/h2>\n<p><ol><strong><\/p>\n<li>How do you delete a node after a given node?<\/li>\n<p><\/strong><br \/>\nTo delete a node after a given node, we have to skip the desired number of nodes to reach the current node after which the node will be deleted. We need to keep track of the current node.<br \/>\n<strong><\/p>\n<li>How do you remove a node from a linked list in java?<\/li>\n<p><\/strong><br \/>\nTo delete a node from a linked list:<\/p>\n<ul>\n<li>Find the previous node of a linked list.<\/li>\n<li>Change the next pointer of the previous node.<\/li>\n<li>Free the memory of the node to be deleted.<\/li>\n<\/ul>\n<p><strong><\/p>\n<li>What is deletion in a singly linked list?<\/li>\n<p><\/strong><br \/>\nDeletion operation is one of the easiest operations of all, let&#8217;s say we have to remove the first node of the linked list we just need to make the head pointer to the next node.<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we are going to learn how to Delete N nodes after M nodes of a Linked List. Let\u2019s see the problem statement for a better understanding. Problem Statement of Delete N nodes after M nodes of a Linked List In this question, we are given a singly linked list, a value M [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[125],"tags":[],"class_list":["post-3767","post","type-post","status-publish","format-standard","hentry","category-linked-list"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Delete N Nodes After M Nodes Of A Linked List | Linked List | Prepbytes<\/title>\n<meta name=\"description\" content=\"Learn the most efficient way to delete N nodes after M nodes of a Linked List. This blog explains explain the most efficient approach to delete N nodes after M nodes of a linked list.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Delete N Nodes After M Nodes Of A Linked List | Linked List | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"Learn the most efficient way to delete N nodes after M nodes of a Linked List. This blog explains explain the most efficient approach to delete N nodes after M nodes of a linked list.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-10T12:00:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-18T07:08:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Delete N nodes after M nodes of a Linked List\",\"datePublished\":\"2021-08-10T12:00:54+00:00\",\"dateModified\":\"2022-11-18T07:08:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\"},\"wordCount\":890,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\",\"name\":\"Delete N Nodes After M Nodes Of A Linked List | Linked List | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png\",\"datePublished\":\"2021-08-10T12:00:54+00:00\",\"dateModified\":\"2022-11-18T07:08:49+00:00\",\"description\":\"Learn the most efficient way to delete N nodes after M nodes of a Linked List. This blog explains explain the most efficient approach to delete N nodes after M nodes of a linked list.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linked list articles\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/linked-list\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Delete N nodes after M nodes of a Linked List\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Delete N Nodes After M Nodes Of A Linked List | Linked List | Prepbytes","description":"Learn the most efficient way to delete N nodes after M nodes of a Linked List. This blog explains explain the most efficient approach to delete N nodes after M nodes of a linked list.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/","og_locale":"en_US","og_type":"article","og_title":"Delete N Nodes After M Nodes Of A Linked List | Linked List | Prepbytes","og_description":"Learn the most efficient way to delete N nodes after M nodes of a Linked List. This blog explains explain the most efficient approach to delete N nodes after M nodes of a linked list.","og_url":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2021-08-10T12:00:54+00:00","article_modified_time":"2022-11-18T07:08:49+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Delete N nodes after M nodes of a Linked List","datePublished":"2021-08-10T12:00:54+00:00","dateModified":"2022-11-18T07:08:49+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/"},"wordCount":890,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/","url":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/","name":"Delete N Nodes After M Nodes Of A Linked List | Linked List | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png","datePublished":"2021-08-10T12:00:54+00:00","dateModified":"2022-11-18T07:08:49+00:00","description":"Learn the most efficient way to delete N nodes after M nodes of a Linked List. This blog explains explain the most efficient approach to delete N nodes after M nodes of a linked list.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645186620696-delete%20n%20nodes-05.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/delete-n-nodes-after-m-nodes-of-a-linked-list\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Linked list articles","item":"https:\/\/prepbytes.com\/blog\/category\/linked-list\/"},{"@type":"ListItem","position":3,"name":"Delete N nodes after M nodes of a Linked List"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/3767","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=3767"}],"version-history":[{"count":7,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/3767\/revisions"}],"predecessor-version":[{"id":10573,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/3767\/revisions\/10573"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=3767"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=3767"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=3767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}