{"id":4895,"date":"2021-09-16T07:46:06","date_gmt":"2021-09-16T07:46:06","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=4895"},"modified":"2022-03-10T18:23:06","modified_gmt":"2022-03-10T18:23:06","slug":"sort-a-linked-list-of-0s-1s-and-2s","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/","title":{"rendered":"Sort a Linked List of 0s, 1s and 2s"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png\" alt=\"\" \/><\/p>\n<h3>Introduction<\/h3>\n<p>The linked list is one of the most important concepts and data structures to learn while preparing for interviews. Having a good grasp of Linked Lists can be a huge plus point in a coding interview.<\/p>\n<\/p>\n<h3>Problem Statement<\/h3>\n<p>In this question, we are given a singly linked list, which only contains 0&#8217;s, 1&#8217;s and 2&#8217;s. We have to sort the given list in non-decreasing order.<\/p>\n<h3>Problem Statement Understanding<\/h3>\n<p>Let\u2019s try to understand the problem statement with the help of examples.<\/p>\n<p>Suppose the given linked list is: 1 \u2192 1 \u2192 0 \u2192 2 \u2192 2. <\/p>\n<ul>\n<li>Now, according to the problem statement we have to sort the given linked list such that after sorting the final linked list will look like:  0 \u2192 1 \u2192 1 \u2192 2 \u2192 2.<\/li>\n<li>So basically, we will have to sort our linked list such that all the nodes with value 0 comes before the nodes with value 1 and all the nodes with value 1 comes before the nodes with value 2.<\/li>\n<\/ul>\n<p>If the given linked list is: 1 \u2192 0 \u2192 0 \u2192 2 \u2192 2 \u2192 1 \u2192 0 \u2192 2 \u2192 2.<\/p>\n<ul>\n<li>Then, in this case, our output sorted linked list will be: 0 \u2192 0 \u2192 0 \u2192 1 \u2192 1 \u2192 2 \u2192 2 \u2192 2 \u2192 2.<\/li>\n<\/ul>\n<p><strong>Some more examples:<\/strong><br \/>\nSample Input 1: 2 \u2192 2 \u2192 1 \u2192 0<br \/>\nSample Output 1: 0 \u2192 1 \u2192 2 \u2192 2<\/p>\n<p>Sample Input 2: 0 \u2192 2 \u2192 1 \u2192 1<br \/>\nSample Output 2: 0 \u2192 1 \u2192 1 \u2192 2<\/p>\n<p>Sample Input 3: 1 \u2192 1 \u2192 0 \u2192 2 \u2192 2<br \/>\nSample Output 3: 0 \u2192 1 \u2192 1 \u2192 2 \u2192 2<\/p>\n<p>Now I think from the above examples, the problem statement is clear. So let&#8217;s see how we will approach it.<\/p>\n<p>Before moving to the approach section, try to think, how should we approach this problem? <\/p>\n<ul>\n<li>One simple way is to sort the linked list using any sorting algorithm (choose wisely). It will do our work, but our complexity will be O(nlog(n)), and also we should keep in mind that in our problem there are only three values possible (0, 1 and 2), so we should also utilize this information.<\/li>\n<\/ul>\n<p>Instead of directly applying sorting on the linked list, try to think of some better way to sort the list. Will it be helpful if we count the number of 0&#8217;s, 1&#8217;s and 2&#8217;s? <\/p>\n<ul>\n<li>Yes, it will be very helpful. Our approach is going to make use of this count.<\/li>\n<\/ul>\n<p>Let us have a glance at the approach.<\/p>\n<h3>Approach<\/h3>\n<p>Our approach is going to be pretty simple. <\/p>\n<ul>\n<li>We will traverse the list and count the number of 0&#8217;s, 1&#8217;s and 2&#8217;s. Now, how will counting be helpful to us? Well, after counting, let the number of 0&#8217;s be x, the number of 1&#8217;s be y and the number of 2&#8217;s be z. <\/li>\n<li>Now, with the help of the counts, we will traverse the list again and fill the first x nodes with 0, then next y nodes with 1 and then next z nodes with 2. <\/li>\n<li>If we notice carefully, this will make our list sorted, as 0&#8217;s will come first, then 1&#8217;s and finally 2&#8217;s. Hence, our objective to sort the linked list. <\/li>\n<\/ul>\n<h3>Algorithm<\/h3>\n<ul>\n<li>Create an array <strong>cnt<\/strong> , which will have a size of 3 and all the elements will initially be 0.<\/li>\n<li>Create a node <strong>ptr<\/strong> and point it to the head of the list. This pointer <strong>ptr<\/strong> will be used to traverse the list.<\/li>\n<li>Now, traverse the list and for every node do, <strong>cnt [ ptr &#8211; &gt; data ] + = 1<\/strong>. <\/li>\n<li>In the above step, if <strong>ptr -&gt; data<\/strong> is 0, then the value at 0<sup>th<\/sup> index of the array will increase and hence, the indexes 0, 1 and 2 will contain the number of 0&#8217;s, 1&#8217;s and 2&#8217;s respectively.<\/li>\n<li>Now, create a variable <strong>i<\/strong> and initialize it with 0. This <strong>i<\/strong> will be the element that will be inserted in the nodes, i.e., 0, 1 or 2.<\/li>\n<li>Now, make the <strong>ptr<\/strong> point to the head again, as we need to traverse the list again.<\/li>\n<li>In the loop while traversing:\n<ul>\n<li>if <strong>count[i] = 0<\/strong>, we will increment <strong>i<\/strong>.<\/li>\n<li>Else we will make <strong>ptr -&gt; data = i<\/strong> and decrement <strong>count[i]<\/strong>. What is the significance of this?   <\/li>\n<li>Suppose <strong>count[0]<\/strong> is 3. Now, For the first 3 iterations, <strong>ptr -&gt; data<\/strong> will be equal to 0. <\/li>\n<li>As the <strong>count[0]<\/strong> is getting decreased in every iteration, after 3 iterations, the <strong>count[0]<\/strong> will be 0, so now, we will increment <strong>i<\/strong> as now we have to fill the next <strong>y<\/strong> (where <strong>y<\/strong> is the number of nodes with data 1) nodes with 1. The same process will get repeated with 1&#8217;s and 2&#8217;s. <\/li>\n<\/ul>\n<\/li>\n<li>Finally, our list will get sorted.<\/li>\n<\/ul>\n<h3>Dry Run<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_1-1.png\" alt=\"\" \/><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_2-1.png\" alt=\"\" \/><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2021\/09\/p_3.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_4896 {\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_4896 .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_4896 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_4896 .wpsm_nav-tabs > li.active > a, #tab_container_4896 .wpsm_nav-tabs > li.active > a:hover, #tab_container_4896 .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_4896 .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_4896 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_4896 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_4896 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_4896 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_4896 .wpsm_nav-tabs > li > a:hover , #tab_container_4896 .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_4896 .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_4896 .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_4896 .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_4896 .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_4896 .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_4896 .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_4896 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_4896 .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_4896 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_4896 .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_4896 .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_4896\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_4896\">\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_4896_1\" aria-controls=\"tabs_desc_4896_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_4896_2\" aria-controls=\"tabs_desc_4896_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_4896_3\" aria-controls=\"tabs_desc_4896_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_4896_4\" aria-controls=\"tabs_desc_4896_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_4896\">\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_4896_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\/* Link list node *\/\r\nstruct Node\r\n{\r\n    int data;\r\n    struct Node* next;\r\n};\r\n \r\nvoid sortList(struct Node *head)\r\n{\r\n    int count[3] = {0, 0, 0};  \/\/ Initialize count of '0', '1' and '2' as 0\r\n    struct Node *ptr = head;\r\n \r\n    while (ptr != NULL)\r\n    {\r\n        count[ptr-&gt;data] += 1;\r\n        ptr = ptr-&gt;next;\r\n    }\r\n \r\n    int i = 0;\r\n    ptr = head;\r\n \r\n    while (ptr != NULL)\r\n    {\r\n        if (count[i] == 0)\r\n            ++i;\r\n        else\r\n        {\r\n            ptr-&gt;data = i;\r\n            --count[i];\r\n            ptr = ptr-&gt;next;\r\n        }\r\n    }\r\n}\r\n \r\nvoid push (struct Node** head_ref, int new_data)\r\n{\r\n    \/* allocate node *\/\r\n    struct Node* new_node =\r\n        (struct Node*) malloc(sizeof(struct Node));\r\n \r\n    \/* put in the data  *\/\r\n    new_node-&gt;data  = new_data;\r\n \r\n    \/* link the old list off the new node *\/\r\n    new_node-&gt;next = (*head_ref);\r\n \r\n    \/* move the head to point to the new node *\/\r\n    (*head_ref)    = new_node;\r\n}\r\nvoid printList(struct Node *node)\r\n{\r\n    while (node != NULL)\r\n    {\r\n        printf(&quot;%d  &quot;, node-&gt;data);\r\n        node = node-&gt;next;\r\n    }\r\n    printf(&quot;n&quot;);\r\n}\r\n \r\nint main(void)\r\n{\r\n    struct Node *head = NULL;\r\n    push(&amp;head, 0);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 0);\r\n    push(&amp;head, 2);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 2);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 2);\r\n \r\n    printf(&quot;Linked List Before Sorting&#92;n&quot;);\r\n    printList(head);\r\n \r\n    sortList(head);\r\n \r\n    printf(&quot;Linked List After Sorting&#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_4896_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\n\/* We will use this function to sort the linked list containing 0's, 1's and 2's *\/\r\nvoid sort(Node *head)\r\n{\r\n    int count[3] = {0, 0, 0}; \r\n    Node *ptr = head;\r\n\r\n    while (ptr != NULL)\r\n    {\r\n        count[ptr-&gt;data] += 1;\r\n        ptr = ptr-&gt;next;\r\n    }\r\n\r\n    int i = 0;\r\n    ptr = head;\r\n\r\n    while (ptr != NULL)\r\n    {\r\n        if (count[i] == 0)\r\n            ++i;\r\n        else\r\n        {\r\n            ptr-&gt;data = i;\r\n            --count[i];\r\n            ptr = ptr-&gt;next;\r\n        }\r\n    }\r\n}\r\n\r\n\/* This function is used to insert nodes at head of the linked list *\/\r\nvoid push (Node** head, int new_data)\r\n{\r\n\r\n    Node* new_node = new Node();\r\n\r\n\r\n    new_node-&gt;data = new_data;\r\n\r\n\r\n    new_node-&gt;next = (*head);\r\n\r\n\r\n    (*head) = new_node;\r\n}\r\n\r\n\/* This function is used to print the linked list *\/\r\nvoid print(Node *node)\r\n{\r\n    while (node != NULL)\r\n    {\r\n        cout &lt;&lt; node-&gt;data &lt;&lt; &quot; &quot;;\r\n        node = node-&gt;next;\r\n    }\r\n    cout &lt;&lt; endl;\r\n}\r\n\r\nint main(void)\r\n{\r\n    Node *head = NULL;\r\n    push(&amp;head, 2);\r\n    push(&amp;head, 2);\r\n    push(&amp;head, 0);\r\n    push(&amp;head, 1);\r\n    push(&amp;head, 1);\r\n\r\n    cout &lt;&lt; &quot;Initial Linked List Before Sorting&#92;n&quot;;\r\n    print(head);\r\n\r\n    sort(head);\r\n\r\n    cout &lt;&lt; &quot;Resultant Linked List After Sorting&#92;n&quot;;\r\n    print(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_4896_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\npublic class LinkedList\r\n{\r\n    Node head;  \r\n\r\n    class Node\r\n    {\r\n        int data;\r\n        Node next;\r\n        Node(int d) {data = d; next = null; }\r\n    }\r\n    \/* We will use this function to sort the linked list containing 0's, 1's and 2's *\/\r\n    void sort()\r\n    {\r\n\r\n       int count[] = {0, 0, 0};\r\n        \r\n       Node ptr = head;\r\n\r\n       while (ptr != null)\r\n       {\r\n            count[ptr.data]++;\r\n            ptr = ptr.next;\r\n       }\r\n \r\n       int i = 0;\r\n       ptr = head;\r\n\r\n        while (ptr != null)\r\n        {\r\n            if (count[i] == 0)\r\n                i++;\r\n            else\r\n            {\r\n               ptr.data= i;\r\n               --count[i];\r\n               ptr = ptr.next;\r\n            }\r\n         }\r\n    }                      \r\n \r\n    \/* This function is used to insert nodes at head of the linked list *\/\r\n    public void push(int new_data)\r\n    {\r\n        Node new_node = new Node(new_data);\r\n\r\n        new_node.next = head;\r\n\r\n        head = new_node;\r\n    }\r\n    \r\n    \/* This function is used to print the linked list *\/\r\n    void print()\r\n    {\r\n        Node temp = head;\r\n        while (temp != null)\r\n        {\r\n           System.out.print(temp.data+&quot; &quot;);\r\n           temp = temp.next;\r\n        } \r\n        System.out.println();\r\n}\r\n    public static void main(String args[])\r\n    {\r\n        LinkedList llist = new LinkedList();\r\n        llist.push(2);\r\n        llist.push(2);\r\n        llist.push(0);\r\n        llist.push(1);\r\n        llist.push(1);\r\n         \r\n        System.out.println(&quot;Initial Linked List before sorting&quot;);\r\n        llist.print();\r\n         \r\n        llist.sort();\r\n \r\n        System.out.println(&quot;Resultant Linked List after sorting&quot;);\r\n        llist.print();\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_4896_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 LinkedList(object):\r\n\tdef __init__(self):\r\n\r\n\t\tself.head = None\r\n\r\n\tclass Node(object):\r\n\t\tdef __init__(self, d):\r\n\t\t\tself.data = d\r\n\t\t\tself.next = None\r\n\r\n\tdef sortList(self):\r\n\r\n\t\tcount = [0, 0, 0]\r\n\r\n\t\tptr = self.head\r\n\r\n\t\twhile ptr != None:\r\n\t\t\tcount[ptr.data]+=1\r\n\t\t\tptr = ptr.next\r\n\r\n\t\ti = 0\r\n\t\tptr = self.head\r\n\r\n\t\twhile ptr != None:\r\n\t\t\tif count[i] == 0:\r\n\t\t\t\ti+=1\r\n\t\t\telse:\r\n\t\t\t\tptr.data = i\r\n\t\t\t\tcount[i]-=1\r\n\t\t\t\tptr = ptr.next\r\n\r\n\r\n\tdef push(self, new_data):\r\n\r\n\t\tnew_node = self.Node(new_data)\r\n\t\tnew_node.next = self.head\r\n\t\tself.head = new_node\r\n\r\n\tdef printList(self):\r\n\t\ttemp = self.head\r\n\t\twhile temp != None:\r\n\t\t\tprint (str(temp.data),end=&quot; &quot;)\r\n\t\t\ttemp = temp.next\r\n\t\tprint()\r\n\r\nllist = LinkedList()\r\nllist.push(2)\r\nllist.push(2)\r\nllist.push(0)\r\nllist.push(1)\r\nllist.push(1)\r\n\r\nprint (&quot;Linked List before sorting&quot;)\r\nllist.printList()\r\n\r\nllist.sortList()\r\n\r\nprint (&quot;Linked List after sorting&quot;)\r\nllist.printList()\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_4896 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_4896 a\"),jQuery(\"#tab-content_4896\"));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>Initial Linked List before sorting<br \/>\n1 1 0 2 2<br \/>\nResultant Linked List after sorting<br \/>\n0 1 1 2 2 <\/p>\n<p><strong>Time Complexity:<\/strong> O(n), as list traversal is needed.<br \/>\n<strong>Space Complexity:<\/strong> O(3), which is almost constant, as an array of size 3 is being made.<\/p>\n<p>So, in this article, we have tried our best to explain how to sort a linked list of 0&#8217;s, 1&#8217;s and 2&#8217;s. You can also sort a linked list of 0&#8217;s, 1&#8217;s and 2&#8217;s by changing links. Check out our article <a href=\"https:\/\/prepbytes.com\/blog\/linked-list\/sort-a-linked-list-of-0s-1s-and-2s-by-changing-links\/\">How to sort a linked list of 0s, 1s and 2s by changing links<\/a>. <\/p>\n<p>This is an important question when it comes to 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","protected":false},"excerpt":{"rendered":"<p>Introduction The linked list is one of the most important concepts and data structures to learn while preparing for interviews. Having a good grasp of Linked Lists can be a huge plus point in a coding interview. Problem Statement In this question, we are given a singly linked list, which only contains 0&#8217;s, 1&#8217;s and [&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-4895","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>Sort a Linked List of 0s, 1s and 2s<\/title>\n<meta name=\"description\" content=\"Learn how to sort a linked list of 0s, 1s and 2s. This blog also explains how to sort a linked list of 0&#039;s, 1&#039;s and 2&#039;s by changing links.\" \/>\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\/sort-a-linked-list-of-0s-1s-and-2s\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sort a Linked List of 0s, 1s and 2s\" \/>\n<meta property=\"og:description\" content=\"Learn how to sort a linked list of 0s, 1s and 2s. This blog also explains how to sort a linked list of 0&#039;s, 1&#039;s and 2&#039;s by changing links.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/\" \/>\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-09-16T07:46:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-10T18:23:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.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\/sort-a-linked-list-of-0s-1s-and-2s\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Sort a Linked List of 0s, 1s and 2s\",\"datePublished\":\"2021-09-16T07:46:06+00:00\",\"dateModified\":\"2022-03-10T18:23:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/\"},\"wordCount\":820,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png\",\"articleSection\":[\"Linked list articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/\",\"name\":\"Sort a Linked List of 0s, 1s and 2s\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png\",\"datePublished\":\"2021-09-16T07:46:06+00:00\",\"dateModified\":\"2022-03-10T18:23:06+00:00\",\"description\":\"Learn how to sort a linked list of 0s, 1s and 2s. This blog also explains how to sort a linked list of 0's, 1's and 2's by changing links.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#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\":\"Sort a Linked List of 0s, 1s and 2s\"}]},{\"@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":"Sort a Linked List of 0s, 1s and 2s","description":"Learn how to sort a linked list of 0s, 1s and 2s. This blog also explains how to sort a linked list of 0's, 1's and 2's by changing links.","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\/sort-a-linked-list-of-0s-1s-and-2s\/","og_locale":"en_US","og_type":"article","og_title":"Sort a Linked List of 0s, 1s and 2s","og_description":"Learn how to sort a linked list of 0s, 1s and 2s. This blog also explains how to sort a linked list of 0's, 1's and 2's by changing links.","og_url":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2021-09-16T07:46:06+00:00","article_modified_time":"2022-03-10T18:23:06+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.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\/sort-a-linked-list-of-0s-1s-and-2s\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Sort a Linked List of 0s, 1s and 2s","datePublished":"2021-09-16T07:46:06+00:00","dateModified":"2022-03-10T18:23:06+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/"},"wordCount":820,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png","articleSection":["Linked list articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/","url":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/","name":"Sort a Linked List of 0s, 1s and 2s","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png","datePublished":"2021-09-16T07:46:06+00:00","dateModified":"2022-03-10T18:23:06+00:00","description":"Learn how to sort a linked list of 0s, 1s and 2s. This blog also explains how to sort a linked list of 0's, 1's and 2's by changing links.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645000966274-Article_140.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/sort-a-linked-list-of-0s-1s-and-2s\/#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":"Sort a Linked List of 0s, 1s and 2s"}]},{"@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\/4895","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=4895"}],"version-history":[{"count":6,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/4895\/revisions"}],"predecessor-version":[{"id":7941,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/4895\/revisions\/7941"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=4895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=4895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=4895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}