{"id":4245,"date":"2021-08-24T11:49:49","date_gmt":"2021-08-24T11:49:49","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=4245"},"modified":"2022-11-22T09:10:27","modified_gmt":"2022-11-22T09:10:27","slug":"rotate-doubly-linked-list-by-n-nodes","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/","title":{"rendered":"Rotate Doubly linked list by N nodes"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png\" alt=\"\" \/><\/p>\n<p>Most of the linked list questions are not that complicated as they seem because a normal logic can be applied. Lets just say we have to rotate doubly linked list by n nodes. To approach this code, we will simply make the last node pointed to the head of the first node and make it circular. And then we will remove the next pointer after n nodes and to make it un-circular. So, in this article, let&#8217;s get into the approach to rotate doubly linked list by n nodes.<\/p>\n<h2>How to Rotate Doubly Linked List by N Nodes<\/h2>\n<p>In this problem, we have been given a doubly linked list. Our task is to rotate the linked list counter-clockwise by N nodes. Here, N is a given positive integer which is smaller than the total number of nodes in the doubly linked list.<\/p>\n<p>Let\u2019s try to understand the problem statement with help of examples.<\/p>\n<p>For example, if the doubly linked list is:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Rotate-Doubly-linked-list-by-N-nodes-3.png\" alt=\"\" \/><\/p>\n<p>and let&#8217;s assume N to be equal to 2. <\/p>\n<p>So according to the problem statement now we have to rotate the doubly linked list counter-clockwise by 2 nodes. To do, so the nodes with value A and B will be removed from their original positions and will be inserted at the end of the linked list, which will yield us our final resultant linked list as:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Rotate-Doubly-linked-list-by-N-nodes-4.png\" alt=\"\" \/><\/p>\n<p>Given list:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Rotate-Doubly-linked-list-by-N-nodes-3.png\" alt=\"\" \/><\/p>\n<p>Rotated list:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Rotate-Doubly-linked-list-by-N-nodes-4.png\" alt=\"\" \/><\/p>\n<p>Similarly, if we are given a linked list as:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-input-1.png\" alt=\"\" \/><\/p>\n<p>It means that we will have to rotate the above doubly linked list counter-clockwise by 4 nodes. To do, so we will move the first 4 nodes from the beginning to the end of the list such that our final linked list will be:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-output-1.png\" alt=\"\" \/><\/p>\n<h4>Some more Examples<\/h4>\n<p><strong>Input:<\/strong> <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-input-2.png\" alt=\"\" \/><\/p>\n<p><strong>Output:<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-output-2.png\" alt=\"\" \/><\/p>\n<p><strong>Input:<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-input-3.png\" alt=\"\" \/><\/p>\n<p><strong>Output:<\/strong>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-output-3.png\" alt=\"\" \/><\/p>\n<p>Now I think from the above examples it is clear what the problem is demanding. So next we have to think how we can approach this problem towards a solution?<\/p>\n<p>Let\u2019s have a glance at approach.<\/p>\n<h2>Approach and Algorithm to rotate doubly linked list by n nodes<\/h2>\n<p>The approach is going to be pretty simple.<br \/>\nSo let\u2019s first think about what we actually need to perform the task of rotating a doubly linked list by N nodes.<\/p>\n<ol>\n<li>To rotate the doubly linked list by N nodes\n<ul>\n<li>We need to change the next pointer of N<sup>th<\/sup> node to NULL.<\/li>\n<li>Next pointer of last node (i.e. Last node of the doubly linked list) to head node.<\/li>\n<li>prev of head node to last node.<\/li>\n<li>And finally change head to (N+1)<sup>th<\/sup> node and prev of new head node to NULL (Since we know that in a doubly linked list, prev of head node is NULL).<\/li>\n<\/ul>\n<\/li>\n<li>So we basically need to get hold of these three nodes: N<sup>th<\/sup> node, (N+1)<sup>th<\/sup> node and last node.<\/li>\n<\/ol>\n<p><strong>To achieve the above objective of rotation:<\/strong><\/p>\n<ol>\n<li>Start traversing the list from the beginning and stop at the N<sup>th<\/sup> node.<\/li>\n<li>Store the pointer to N<sup>th<\/sup> node so that we can get (N+1)<sup>th<\/sup> node using NthNode-&gt;next.<\/li>\n<li>We will keep traversing the list till the end of the list and store the pointer to the last node as well.<\/li>\n<li>Finally, we will change the pointers as stated below.\n<ul>\n<li>Change the next pointer of Nth node to NULL.<\/li>\n<li>Make next pointer of last node point to the head node<\/li>\n<li>Make prev of head node point to the to last node.<\/li>\n<li>Finally, make (N+1)<sup>th<\/sup> node the new head and point the prev of new head node to NULL.<\/li>\n<\/ul>\n<\/li>\n<li>Finally, following the above steps, our list will get rotated counter-clockwise by N nodes.<\/li>\n<\/ol>\n<p>At last, print the rotated list using the PrintList function. <\/p>\n<h3>Dry Run to rotate doubly linked list by n nodes<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Rotate-Doubly-linked-list-by-N-nodes-1.png\" alt=\"\" \/><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Rotate-Doubly-linked-list-by-N-nodes-2.png\" alt=\"\" \/><\/p>\n<h2>Code Implementation to rotate doubly linked list by n nodes<\/h2>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_4246 {\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_4246 .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_4246 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_4246 .wpsm_nav-tabs > li.active > a, #tab_container_4246 .wpsm_nav-tabs > li.active > a:hover, #tab_container_4246 .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_4246 .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_4246 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_4246 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_4246 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_4246 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_4246 .wpsm_nav-tabs > li > a:hover , #tab_container_4246 .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_4246 .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_4246 .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_4246 .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_4246 .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_4246 .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_4246 .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_4246 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_4246 .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_4246 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_4246 .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_4246 .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_4246\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_4246\">\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_4246_1\" aria-controls=\"tabs_desc_4246_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_4246_2\" aria-controls=\"tabs_desc_4246_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_4246_3\" aria-controls=\"tabs_desc_4246_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_4246_4\" aria-controls=\"tabs_desc_4246_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_4246\">\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_4246_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<stdio.h>\r\n#include<stdlib.h>\r\n\r\nstruct Node {\r\n    int data;\r\n    struct Node* prev;\r\n    struct Node* next;\r\n};\r\nvoid rotate(struct Node** head_ref, int N)\r\n{\r\n    if (N == 0)\r\n        return;\r\n    struct Node* current = *head_ref;\r\n    int count = 1;\r\n    while (count < N && current != NULL) {\r\n        current = current->next;\r\n        count++;\r\n    }\r\n    if (current == NULL)\r\n        return;\r\n    struct Node* NthNode = current;\r\n    while (current->next != NULL)\r\n        current = current->next;\r\n    current->next = *head_ref;\r\n    (*head_ref)->prev = current;\r\n    *head_ref = NthNode->next;\r\n    (*head_ref)->prev = NULL;\r\n    NthNode->next = NULL;\r\n}\r\nvoid push(struct Node** head_ref, int new_c)\r\n{\r\n    struct Node* new_node =\r\n            (struct Node*) malloc(sizeof(struct Node));\r\n    new_node->data = new_c;\r\n    new_node->prev = NULL;\r\n    new_node->next = (*head_ref);\r\n    if ((*head_ref) != NULL)\r\n        (*head_ref)->prev = new_node;\r\n     *head_ref = new_node;\r\n}\r\nvoid printList(struct Node* node)\r\n{\r\n    while (node->next != NULL) {\r\n        printf(\"%d, \",node->data);\r\n        node = node->next;\r\n    }\r\n    printf(\"%d \",node->data);\r\n}\r\nint main(void)\r\n{\r\n    struct Node* head = NULL;\r\n    push(&head, 5);\r\n    push(&head, 4);\r\n    push(&head, 3);\r\n    push(&head, 2);\r\n    push(&head, 1);\r\n    int N = 2;\r\n    printf( \"Given linked list &#92;n\");\r\n    printList(head);\r\n    rotate(&head, N);\r\n    printf( \"&#92;nRotated Linked list &#92;n\");\r\n    printList(head);\r\n    return 0;\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_4246_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 <bits stdc++.h=\"\">\r\nusing namespace std;\r\n\r\nstruct Node {\r\n    int data;\r\n    struct Node* prev;\r\n    struct Node* next;\r\n};\r\n\r\nvoid rotate(struct Node** head_ref, int N)\r\n{\r\n    if (N == 0)\r\n        return;\r\n\r\n    struct Node* current = *head_ref;\r\n    int count = 1;\r\n    while (count < N && current != NULL) {\r\n        current = current->next;\r\n        count++;\r\n    }\r\n\r\n    if (current == NULL)\r\n        return;\r\n\r\n    struct Node* NthNode = current;\r\n    while (current->next != NULL)\r\n        current = current->next;\r\n\r\n    current->next = *head_ref;\r\n    (*head_ref)->prev = current;\r\n    *head_ref = NthNode->next;\r\n    (*head_ref)->prev = NULL;\r\n    NthNode->next = NULL;\r\n}\r\n\r\nvoid push(struct Node** head_ref, int new_c)\r\n{\r\n    struct Node* new_node = new Node;\r\n    new_node->data = new_c;\r\n    new_node->prev = NULL;\r\n    new_node->next = (*head_ref);\r\n    if ((*head_ref) != NULL)\r\n        (*head_ref)->prev = new_node;\r\n     *head_ref = new_node;\r\n}\r\n\r\nvoid printList(struct Node* node)\r\n{\r\n    while (node->next != NULL) {\r\n        cout << node->data << \" \";\r\n        node = node->next;\r\n    }\r\n    cout << node->data;\r\n}\r\n\r\nint main(void)\r\n{\r\n    struct Node* head = NULL;\r\n\r\n    push(&head, 5);\r\n    push(&head, 4);\r\n    push(&head, 3);\r\n    push(&head, 2);\r\n    push(&head, 1);\r\n\r\n    int N = 2;\r\n\r\n    cout << \"Given linked list &#92;n\";\r\n    printList(head);\r\n    rotate(&head, N);\r\n\r\n    cout << \"&#92;nRotated Linked list &#92;n\";\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_4246_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\nclass ReverseN \r\n{\r\nstatic class Node\r\n{\r\n    int data;\r\n    Node prev;\r\n    Node next;\r\n}\r\nstatic Node head = null;\r\n \r\nstatic void rotate( int N)\r\n{\r\n    if (N == 0)\r\n        return;\r\n    Node current = head;\r\n    int count = 1;\r\n    while (count < N && current != null)\r\n    {\r\n        current = current.next;\r\n        count++;\r\n    }\r\n    if (current == null)\r\n        return;\r\n \r\n    Node NthNode = current;\r\n \r\n    while (current.next != null)\r\n        current = current.next;\r\n \r\n    current.next = head;\r\n    (head).prev = current;\r\n    head = NthNode.next;\r\n    (head).prev = null;\r\n    NthNode.next = null;\r\n}\r\nstatic void push(int new_data)\r\n{\r\n    Node new_node = new Node();\r\n    new_node.data = new_data;\r\n    new_node.prev = null;\r\n    new_node.next = (head);\r\n    if ((head) != null)\r\n        (head).prev = new_node;\r\n        head = new_node;\r\n}\r\n\r\nstatic void printList(Node node)\r\n{\r\n    while (node != null && node.next != null)\r\n    {\r\n        System.out.print(node.data + \" \");\r\n        node = node.next;\r\n    }\r\n    if(node != null)\r\n    System.out.print(node.data);\r\n}\r\n \r\npublic static void main(String[] args)\r\n{\r\n    push(5);\r\n    push(4);\r\n    push(3);\r\n    push(2);\r\n    push(1);\r\n \r\n    int N = 2;\r\n \r\n    System.out.println(\"Given linked list \");\r\n    printList(head);\r\n    System.out.println();\r\n    rotate(N);\r\n    System.out.println(\"Rotated Linked list \");\r\n    printList(head);\r\n}\r\n}\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_4246_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\tdef __init__(self, next = None, prev = None, data = None):\r\n\t\tself.next = next\r\n\t\tself.prev = prev\r\n\t\tself.data = data\r\n\r\ndef push(head, new_data):\r\n\r\n\tnew_node = Node(data = new_data)\r\n\r\n\tnew_node.next = head\r\n\tnew_node.prev = None\r\n\r\n\tif head is not None:\r\n\t\thead.prev = new_node\r\n\r\n\thead = new_node\r\n\treturn head\r\n\r\ndef printList(head):\r\n\r\n\tnode = head\r\n\r\n\twhile(node is not None):\r\n\t\tprint(node.data, end = \" \"),\r\n\t\tlast = node\r\n\t\tnode = node.next\r\n\t\r\ndef rotate(head, N):\r\n\tif N == 0 :\r\n\t\treturn\r\n\r\n\tcurrent = head\r\n\r\n\tcount = 1\r\n\twhile count < N and current != None :\r\n\t\tcurrent = current.next\r\n\t\tcount += 1\r\n\r\n\tif current == None :\r\n\t\treturn\r\n\r\n\tNthNode = current\r\n\r\n\twhile current.next != None :\r\n\t\tcurrent = current.next\r\n\r\n\tcurrent.next = head\r\n\r\n\thead.prev = current\r\n\r\n\thead = NthNode.next\r\n\r\n\thead.prev = None\r\n\r\n\tNthNode.next = None\r\n\r\n\treturn head\r\n\r\nif __name__ == \"__main__\":\r\n\thead = None\r\n\r\n\thead = push(head, 5)\r\n\thead = push(head, 4)\r\n\thead = push(head, 3)\r\n\thead = push(head, 2)\r\n\thead = push(head, 1)\r\n\r\n\tprint(\"Given linked list\")\r\n\tprintList(head)\r\n\tprint()\r\n\t\r\n\tN = 2\r\n\thead = rotate(head, N)\r\n\r\n\tprint(\"Rotated Linked list\")\r\n\tprintList(head)\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_4246 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_4246 a\"),jQuery(\"#tab-content_4246\"));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<pre><code>Output:\nGiven linked list: 1 2 3 4 5\nRotated Linked list: 3 4 5 1 2<\/code><\/pre>\n<p><strong>Time Complexity to rotate doubly linked list by n nodes:<\/strong> O(L), where L is the length of the linked list, as only one traversal of the linked list is required.\n<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>So, in this article, We have implemented a simple logic irrespective of how complex the question was. We basically made a linked list into a circular one then removed the link after n nodes to make it un-circular. So that is how we rotate doubly linked list by n nodes. Enthusiastic about more questions visit the link and find all questions of linked lists.<a href=\"https:\/\/mycode.prepbytes.com\/interview-coding\/practice\/linked-list\">Linked List<\/a>.<\/p>\n<h2>FAQs<\/h2>\n<p><strong>1. Why a doubly linked list is preferred than a singly linked list?<\/strong><br \/>\nDoubly linked list is a bi- directional list, which means it can be traversed through both sides. So, finding elements in a doubly linked list is far more easy.<\/p>\n<p><strong>2. What is the time complexity of reversing a doubly linked list?<\/strong><br \/>\nThe time complexity of reversing  a doubly linked list is O(n).<\/p>\n<p><strong>3. What is the most efficient way to reverse a  doubly linked list?<\/strong><br \/>\nThe iterative approach where we assign pointers, head, and current node as null and traverse through the lists.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most of the linked list questions are not that complicated as they seem because a normal logic can be applied. Lets just say we have to rotate doubly linked list by n nodes. To approach this code, we will simply make the last node pointed to the head of the first node and make it [&hellip;]<\/p>\n","protected":false},"author":3,"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-4245","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>Most easy way to Rotate a Doubly linked list by N nodes<\/title>\n<meta name=\"description\" content=\"Learn the most efficient way to rotate a doubly linked list by N nodes. This blog explains how to rotate a doubly linked list by N nodes.\" \/>\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\/rotate-doubly-linked-list-by-n-nodes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Most easy way to Rotate a Doubly linked list by N nodes\" \/>\n<meta property=\"og:description\" content=\"Learn the most efficient way to rotate a doubly linked list by N nodes. This blog explains how to rotate a doubly linked list by N nodes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/\" \/>\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-24T11:49:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-22T09:10:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.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\/rotate-doubly-linked-list-by-n-nodes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/\"},\"author\":{\"name\":\"PrepBytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e\"},\"headline\":\"Rotate Doubly linked list by N nodes\",\"datePublished\":\"2021-08-24T11:49:49+00:00\",\"dateModified\":\"2022-11-22T09:10:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/\"},\"wordCount\":829,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/\",\"name\":\"Most easy way to Rotate a Doubly linked list by N nodes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png\",\"datePublished\":\"2021-08-24T11:49:49+00:00\",\"dateModified\":\"2022-11-22T09:10:27+00:00\",\"description\":\"Learn the most efficient way to rotate a doubly linked list by N nodes. This blog explains how to rotate a doubly linked list by N nodes.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#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\":\"Rotate Doubly linked list by N nodes\"}]},{\"@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\/39fcf072e04987f16796546f2ca83c2e\",\"name\":\"PrepBytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g\",\"caption\":\"PrepBytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/prepbytes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Most easy way to Rotate a Doubly linked list by N nodes","description":"Learn the most efficient way to rotate a doubly linked list by N nodes. This blog explains how to rotate a doubly linked list by N nodes.","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\/rotate-doubly-linked-list-by-n-nodes\/","og_locale":"en_US","og_type":"article","og_title":"Most easy way to Rotate a Doubly linked list by N nodes","og_description":"Learn the most efficient way to rotate a doubly linked list by N nodes. This blog explains how to rotate a doubly linked list by N nodes.","og_url":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2021-08-24T11:49:49+00:00","article_modified_time":"2022-11-22T09:10:27+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.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\/rotate-doubly-linked-list-by-n-nodes\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/"},"author":{"name":"PrepBytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/39fcf072e04987f16796546f2ca83c2e"},"headline":"Rotate Doubly linked list by N nodes","datePublished":"2021-08-24T11:49:49+00:00","dateModified":"2022-11-22T09:10:27+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/"},"wordCount":829,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/","url":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/","name":"Most easy way to Rotate a Doubly linked list by N nodes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png","datePublished":"2021-08-24T11:49:49+00:00","dateModified":"2022-11-22T09:10:27+00:00","description":"Learn the most efficient way to rotate a doubly linked list by N nodes. This blog explains how to rotate a doubly linked list by N nodes.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1644926104382-109.Rotate%20Doubly%20linked%20list%20by%20N%20nodes-04.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/rotate-doubly-linked-list-by-n-nodes\/#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":"Rotate Doubly linked list by N nodes"}]},{"@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\/39fcf072e04987f16796546f2ca83c2e","name":"PrepBytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/850669d326db1e1531f04db0c63145d941c2a26792aaeee226a9e6675b0ac698?s=96&d=mm&r=g","caption":"PrepBytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/prepbytes\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/4245","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=4245"}],"version-history":[{"count":8,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/4245\/revisions"}],"predecessor-version":[{"id":10680,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/4245\/revisions\/10680"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=4245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=4245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=4245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}