{"id":3915,"date":"2021-08-17T12:02:15","date_gmt":"2021-08-17T12:02:15","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=3915"},"modified":"2022-11-30T04:49:04","modified_gmt":"2022-11-30T04:49:04","slug":"count-rotations-in-a-sorted-and-rotated-linked-list","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/","title":{"rendered":"Count rotations in a sorted and rotated linked list"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png\" alt=\"\" \/><\/p>\n<p>Several approaches exist in the programming world to solve this problem, some efficient and some not so efficient. Let us build the intuition to solve this problem brick by brick, by first discussing some simple methods, which are not so efficient. In this blog, we will see the problem number of rotations in a sorted linked list.<\/p>\n<h2>How To Find Number Of Rotations In A Sorted Linked List<\/h2>\n<p>In this question, we are given a linked list. This linked list was sorted and then rotated by X elements. We have to find the value of X.<\/p>\n<p>Let\u2019s try to understand the problem statement with help of examples.<br \/>\nSuppose the given list is:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/input.png\" alt=\"\" \/><\/p>\n<p>Let us first discuss what counting rotations in a sorted and rotated list means.<br \/>\nLet&#8217;s sort this given list. The sorted list is:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-1-sorted-list.png\" alt=\"\" \/><\/p>\n<p>Now, let&#8217;s remove the last two elements and add them to the front of the list, we will get:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-1-1.png\" alt=\"\" \/><\/p>\n<p>That\u2019s it. That is the question. In this explanation, we have rotated the sorted list by 2 elements. In the question, we are given a rotated list. We have to return the number of elements by which it was rotated.<\/p>\n<p><strong>Input:<\/strong><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/input.png\" alt=\"\" \/><\/p>\n<p><strong>Output:<\/strong> Linked list rotated elements: 2<\/p>\n<p><strong>Explanation:<\/strong> We can see that if we add the first two elements to the end of the linked list, it becomes sorted. Hence, 2 rotations is the answer.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Count-rotations-in-a-sorted-rotated-linked-list.png\" alt=\"\" \/><\/p>\n<p>Let\u2019s take one more example, say if the given list is:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-2-1.png\" alt=\"\" \/><\/p>\n<p>If we sort this list, we will get a list:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-2-sort-list-.png\" alt=\"\" \/><\/p>\n<p>Now we can see that if in the sorted list we move the last 3 elements and add them to the front, we will get:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/example-2-1.png\" alt=\"\" \/><\/p>\n<p>which is the same as the list which was given to us in the input.<\/p>\n<p>From this, we can say that the linked list, which was given to us in the input, was initially rotated by 3 elements. So our output will be 3.<br \/>\nNow, I think the problem statement is clear from the above examples. No try to think how you can approach this problem before moving to the approach in the next section?<br \/>\nWe are going to use a linked list traversal and compare the elements. Let us look at this simple yet efficient approach.<\/p>\n<h2>Approach To Find Number Of Rotations In A Sorted Linked List<\/h2>\n<p>Firstly, we have to notice that the values are not sorted now. Now, what caused this distortion?<br \/>\nA few of the elements from the end of the sorted linked list were added to the start of the list. We can get a hint here.<br \/>\nWe will keep comparing adjacent elements:<\/p>\n<ul>\n<li>If the current node value is lesser than or equal to the next node value, nothing changes.<\/li>\n<li>But, if the current value is greater than the next node value, it means that the order isn&#8217;t sorted from this point, so we have found the initial starting point of our previously sorted linked list, and we will break the loop.<\/li>\n<\/ul>\n<p>We will have to keep a counter variable which will be incremented till it doesn\u2019t reach the break condition. Let us have a look at the algorithm.<\/p>\n<h2>Algorithm To Find Number Of Rotations In A Sorted Linked List<\/h2>\n<ul>\n<li>Initialize the count variable with 0.<\/li>\n<li>One by one, keep comparing adjacent node values and increase the count.<\/li>\n<li>If, at any point, the current node value is greater than the next node value, break from the loop.<\/li>\n<li>Return the count.<\/li>\n<\/ul>\n<h3>Dry Run To Find Number Of Rotations In A Sorted Linked List<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/08\/Count-rotations-in-a-sorted-rotated-linked-list-2.png\" alt=\"\" \/><\/p>\n<h2>Code Implementation To Find Number Of Rotations In A Sorted Linked List<\/h2>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_3916 {\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_3916 .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_3916 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_3916 .wpsm_nav-tabs > li.active > a, #tab_container_3916 .wpsm_nav-tabs > li.active > a:hover, #tab_container_3916 .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_3916 .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_3916 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_3916 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_3916 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_3916 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_3916 .wpsm_nav-tabs > li > a:hover , #tab_container_3916 .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_3916 .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_3916 .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_3916 .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_3916 .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_3916 .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_3916 .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_3916 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_3916 .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_3916 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_3916 .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_3916 .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_3916\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_3916\">\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_3916_1\" aria-controls=\"tabs_desc_3916_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_3916_2\" aria-controls=\"tabs_desc_3916_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_3916_3\" aria-controls=\"tabs_desc_3916_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_3916_4\" aria-controls=\"tabs_desc_3916_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_3916\">\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_3916_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\nstruct Node {\r\n    int data;\r\n    struct Node* next;\r\n};\r\n \r\nint countRotation(struct Node* head)\r\n{\r\n    \/\/ counter variable\r\n    int count = 0;\r\n    \r\n    struct Node* curr=head;\r\n \r\n    \r\n    while(curr&amp;&amp;curr-&gt;next)\r\n    {\r\n        \/\/ Compare adjacent values\r\n        if(curr-&gt;data&gt;curr-&gt;next-&gt;data)\r\n        {\r\n            count++;\r\n            break;\r\n        }\r\n        count++;\r\n        curr=curr-&gt;next;\r\n    }\r\n    \r\n    return count;\r\n}\r\nvoid push(struct Node** head, int data)\r\n{\r\n    struct Node* newNode = (struct Node*) malloc(sizeof(struct Node));\r\n    newNode-&gt;data = data;\r\n    newNode-&gt;next = (*head);\r\n \r\n   \r\n    (*head) = newNode;\r\n}\r\n \r\nvoid printList(struct Node* node)\r\n{\r\n    while (node != NULL) {\r\n        printf(&quot;%d &quot;, node-&gt;data);\r\n        node = node-&gt;next;\r\n    }\r\n}\r\nint main()\r\n{\r\n    struct Node* head = NULL;\r\n    push(&amp;head, 5);\r\n    push(&amp;head, 3);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 11);\r\n    push(&amp;head, 10);\r\n \r\n    printList(head);\r\n    printf(&quot;&#92;n&quot;);\r\n    printf( &quot;Linked list rotated elements: &quot;);\r\n    int ans = countRotation(head);\r\n    printf(&quot;%d &quot;,ans);\r\n \r\n    return 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_3916_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\nstruct Node {\r\n    int data;\r\n    struct Node* next;\r\n};\r\n \r\nint countRotation(struct Node* head)\r\n{\r\n    \/\/ counter variable\r\n    int count = 0;\r\n    \r\n    Node* curr=head;\r\n \r\n    \r\n    while(curr&amp;&amp;curr-&gt;next)\r\n    {\r\n        \/\/ Compare adjacent values\r\n        if(curr-&gt;data&gt;curr-&gt;next-&gt;data)\r\n        {\r\n            count++;\r\n            break;\r\n        }\r\n\r\n        count++;\r\n        curr=curr-&gt;next;\r\n    }\r\n    \r\n    return count;\r\n}\r\n\r\nvoid push(struct Node** head, int data)\r\n{\r\n    struct Node* newNode = new Node;\r\n\r\n    newNode-&gt;data = data;\r\n\r\n    newNode-&gt;next = (*head);\r\n \r\n   \r\n    (*head) = newNode;\r\n}\r\n \r\n\r\nvoid printList(struct Node* node)\r\n{\r\n    while (node != NULL) {\r\n        printf(&quot;%d &quot;, node-&gt;data);\r\n        node = node-&gt;next;\r\n    }\r\n}\r\n\r\nint main()\r\n{\r\n    struct Node* head = NULL;\r\n    push(&amp;head, 5);\r\n    push(&amp;head, 3);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 11);\r\n    push(&amp;head, 10);\r\n \r\n    printList(head);\r\n    cout &lt;&lt; endl;\r\n    cout &lt;&lt; &quot;Linked list rotated elements: &quot;;\r\n\r\n    cout &lt;&lt; countRotation(head) &lt;&lt; endl;\r\n \r\n    return 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_3916_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    int data;\r\n    Node next;\r\n};\r\n\r\nstatic int countRotation(Node head)\r\n{\r\n\r\n\r\n    int count = 0;\r\n\r\n    int min = head.data;\r\n\r\n    while (head != null) {\r\n\r\n\r\n        if (min &gt; head.data)\r\n            break;\r\n\r\n        count++;\r\n\r\n        head = head.next;\r\n    }\r\n    return count;\r\n}\r\nstatic Node push(Node head, int data)\r\n{\r\n\r\n    Node newNode = new Node();\r\n\r\n    newNode.data = data;\r\n\r\n    newNode.next = (head);\r\n\r\n    (head) = newNode;\r\n    return head;\r\n}\r\n\r\nstatic void printList(Node node)\r\n{\r\n    while (node != null) {\r\n        System.out.printf(&quot;%d &quot;, node.data);\r\n        node = node.next;\r\n    }\r\n}\r\n\r\npublic static void main(String[] args)\r\n{\r\n\r\n    Node head = null;\r\n\r\n    head = push(head, 5);\r\n    head = push(head, 3);\r\n    head = push(head, 1);\r\n    head = push(head, 11);\r\n    head = push(head, 10);\r\n\r\n    printList(head);\r\n    System.out.println();\r\n    System.out.print(&quot;Linked list rotated elements: &quot;);\r\n\r\n    System.out.print(countRotation(head) +&quot;&#92;n&quot;);\r\n\r\n}\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_3916_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    \r\n    def __init__(self, data):\r\n        self.data = data\r\n        self.next = None\r\n\r\ndef countRotation(head):\r\n\r\n    count = 0\r\n    min = head.data\r\n    while (head != None):\r\n        if (min > head.data):\r\n            break\r\n\r\n        count += 1\r\n\r\n        head = head.next\r\n    \r\n    return count\r\n\r\ndef push(head, data):\r\n\r\n    newNode = Node(data)\r\n    newNode.data = data\r\n    newNode.next = (head)\r\n    (head) = newNode\r\n    return head\r\n\r\ndef printList(node):\r\n\r\n    while (node != None):\r\n        print(node.data, end = ' ')\r\n        node = node.next\r\n    \r\nif __name__=='__main__':\r\n    \r\n    head = None\r\n    head = push(head, 5)\r\n    head = push(head, 3)\r\n    head = push(head, 1)\r\n    head = push(head, 11)\r\n    head = push(head, 10)\r\n\r\n    printList(head)\r\n    print()\r\n    print(\"Linked list rotated elements: \",end = '')\r\n    print(countRotation(head))\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_3916 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_3916 a\"),jQuery(\"#tab-content_3916\"));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\n10 11 1 3 5<\/code><\/pre>\n<p><strong>Linked list rotated elements:<\/strong> 2<\/p>\n<p><strong>Time Complexity To Find Number Of Rotations In A Sorted Linked List:<\/strong> O(n), as no nested traversal is needed.<\/p>\n<p><strong>Space Complexity To Find Number Of Rotations In A Sorted Linked List:<\/strong> O(1).<\/p>\n<p>In this blog, we have tried to explain the most efficient approach to number of rotations in a sorted linked list. This is a simple question, but we have to prevent overflows while traversing through the linked list. It uses many of our basic concepts, and that is what makes this question quite an important one for coding interviews. If you want to solve more questions on Linked List, which are 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<h2>FAQ<\/h2>\n<p><strong>1. What is a sorted list in data structure?<\/strong><br \/>\nA sorted array is an array data structure in which each element is sorted in numerical, alphabetical, or some other order, and placed at equally spaced addresses in computer memory.<\/p>\n<p><strong>2. What are the 4 types of linked list?<\/strong><br \/>\nThere are four key types of linked lists:<\/p>\n<ul>\n<li>Singly linked lists.<\/li>\n<li>Doubly linked lists.<\/li>\n<li>Circular linked lists.<\/li>\n<li>Circular doubly linked lists.<\/li>\n<\/ul>\n<p><strong>3. Is the linked list FIFO or LIFO?<\/strong><br \/>\nA singly-linked list may be LIFO (last-in-first-out) or FIFO (first-in-first-out). If the list is using the LIFO method, the nodes will be added to and deleted from the same end. If it&#8217;s using FIFO, nodes will be added to one end and deleted from the opposite end. Additionally, the linked list may be sorted.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Several approaches exist in the programming world to solve this problem, some efficient and some not so efficient. Let us build the intuition to solve this problem brick by brick, by first discussing some simple methods, which are not so efficient. In this blog, we will see the problem number of rotations in a sorted [&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-3915","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>Count rotations in a sorted and rotated linked list | Linked List | Prepbytes<\/title>\n<meta name=\"description\" content=\"Learn the most efficient way to count rotations in a sorted and rotated linked list. This article explains the most efficient approach to count rotations in a sorted and rotated 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\/count-rotations-in-a-sorted-and-rotated-linked-list\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Count rotations in a sorted and rotated linked list | Linked List | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"Learn the most efficient way to count rotations in a sorted and rotated linked list. This article explains the most efficient approach to count rotations in a sorted and rotated linked list.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-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-17T12:02:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-30T04:49:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.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\/count-rotations-in-a-sorted-and-rotated-linked-list\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Count rotations in a sorted and rotated linked list\",\"datePublished\":\"2021-08-17T12:02:15+00:00\",\"dateModified\":\"2022-11-30T04:49:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/\"},\"wordCount\":857,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/\",\"name\":\"Count rotations in a sorted and rotated linked list | Linked List | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png\",\"datePublished\":\"2021-08-17T12:02:15+00:00\",\"dateModified\":\"2022-11-30T04:49:04+00:00\",\"description\":\"Learn the most efficient way to count rotations in a sorted and rotated linked list. This article explains the most efficient approach to count rotations in a sorted and rotated linked list.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-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\":\"Count rotations in a sorted and rotated 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":"Count rotations in a sorted and rotated linked list | Linked List | Prepbytes","description":"Learn the most efficient way to count rotations in a sorted and rotated linked list. This article explains the most efficient approach to count rotations in a sorted and rotated 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\/count-rotations-in-a-sorted-and-rotated-linked-list\/","og_locale":"en_US","og_type":"article","og_title":"Count rotations in a sorted and rotated linked list | Linked List | Prepbytes","og_description":"Learn the most efficient way to count rotations in a sorted and rotated linked list. This article explains the most efficient approach to count rotations in a sorted and rotated linked list.","og_url":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2021-08-17T12:02:15+00:00","article_modified_time":"2022-11-30T04:49:04+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.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\/count-rotations-in-a-sorted-and-rotated-linked-list\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Count rotations in a sorted and rotated linked list","datePublished":"2021-08-17T12:02:15+00:00","dateModified":"2022-11-30T04:49:04+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/"},"wordCount":857,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/","url":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/","name":"Count rotations in a sorted and rotated linked list | Linked List | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png","datePublished":"2021-08-17T12:02:15+00:00","dateModified":"2022-11-30T04:49:04+00:00","description":"Learn the most efficient way to count rotations in a sorted and rotated linked list. This article explains the most efficient approach to count rotations in a sorted and rotated linked list.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-linked-list\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645283217253-sorted%20and%20rotated%20linked%20list_Artboard%206.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/count-rotations-in-a-sorted-and-rotated-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":"Count rotations in a sorted and rotated 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\/3915","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=3915"}],"version-history":[{"count":7,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/3915\/revisions"}],"predecessor-version":[{"id":10839,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/3915\/revisions\/10839"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=3915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=3915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=3915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}