{"id":15539,"date":"2024-03-15T11:21:47","date_gmt":"2024-03-15T11:21:47","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/"},"modified":"2025-08-06T19:28:23","modified_gmt":"2025-08-06T19:28:23","slug":"how-to-reverse-a-doubly-linked-list-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/","title":{"rendered":"How to reverse a doubly linked list in Java?"},"content":{"rendered":"<p>To reverse a doubly linked list, you can follow these steps:<\/p>\n<ol>\n<li>Create a temporary variable temp to store the next node of the current node.<\/li>\n<li>Set the next node of the current node to point to the previous node, and set the previous node of the current node to point to temp.<\/li>\n<li>Set the current node as temp.<\/li>\n<li>Repeat steps 2 and 3 until the current node is null.<\/li>\n<li>Set the last node of the original linked list as the new head node.<\/li>\n<\/ol>\n<p>Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Node<\/span> {\r\n  <span class=\"hljs-type\">int<\/span> value;\r\n  Node prev;\r\n  Node next;\r\n  \r\n  <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-title function_\">Node<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">int<\/span> value)<\/span> {\r\n    <span class=\"hljs-built_in\">this<\/span>.value = value;\r\n  }\r\n}\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">DoublyLinkedList<\/span> {\r\n  <span class=\"hljs-keyword\">private<\/span> Node head;\r\n  \r\n  <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">reverse<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">Node<\/span> <span class=\"hljs-variable\">current<\/span> <span class=\"hljs-operator\">=<\/span> head;\r\n    <span class=\"hljs-type\">Node<\/span> <span class=\"hljs-variable\">temp<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-literal\">null<\/span>;\r\n    \r\n    <span class=\"hljs-keyword\">while<\/span> (current != <span class=\"hljs-literal\">null<\/span>) {\r\n      temp = current.next;\r\n      current.next = current.prev;\r\n      current.prev = temp;\r\n      current = temp;\r\n    }\r\n    \r\n    <span class=\"hljs-keyword\">if<\/span> (temp != <span class=\"hljs-literal\">null<\/span>) {\r\n      head = temp.prev;\r\n    }\r\n  }\r\n  \r\n  <span class=\"hljs-comment\">\/\/ \u6dfb\u52a0\u5176\u4ed6\u65b9\u6cd5\u548c\u6d4b\u8bd5\u4ee3\u7801<\/span>\r\n}\r\n<\/code><\/pre>\n<p>In the above code, the reverse() method is used to reverse a doubly linked list. First, we start from the head node and traverse each node in the list one by one. During the traversal, we swap the pointers of the current node&#8217;s previous and next nodes, then set the current node as the next node, repeating this process until the current node is null. Finally, we set the last node of the original list as the new head node.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To reverse a doubly linked list, you can follow these steps: Create a temporary variable temp to store the next node of the current node. Set the next node of the current node to point to the previous node, and set the previous node of the current node to point to temp. Set the current [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[453,1402,299,1404,1403],"class_list":["post-15539","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","tag-guide","tag-programming","tag-technology","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to reverse a doubly linked list in Java? - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn about how to reverse a doubly linked list in java?. Comprehensive guide with examples and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to reverse a doubly linked list in Java?\" \/>\n<meta property=\"og:description\" content=\"Learn about how to reverse a doubly linked list in java?. Comprehensive guide with examples and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T11:21:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T19:28:23+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ava Mitchell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"How to reverse a doubly linked list in Java?\",\"datePublished\":\"2024-03-15T11:21:47+00:00\",\"dateModified\":\"2025-08-06T19:28:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\"},\"wordCount\":176,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Development\",\"guide\",\"programming\",\"technology\",\"tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\",\"name\":\"How to reverse a doubly linked list in Java? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T11:21:47+00:00\",\"dateModified\":\"2025-08-06T19:28:23+00:00\",\"description\":\"Learn about how to reverse a doubly linked list in java?. Comprehensive guide with examples and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to reverse a doubly linked list in Java?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to reverse a doubly linked list in Java? - Blog - Silicon Cloud","description":"Learn about how to reverse a doubly linked list in java?. Comprehensive guide with examples and best practices.","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:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/","og_locale":"en_US","og_type":"article","og_title":"How to reverse a doubly linked list in Java?","og_description":"Learn about how to reverse a doubly linked list in java?. Comprehensive guide with examples and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T11:21:47+00:00","article_modified_time":"2025-08-06T19:28:23+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"How to reverse a doubly linked list in Java?","datePublished":"2024-03-15T11:21:47+00:00","dateModified":"2025-08-06T19:28:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/"},"wordCount":176,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Development","guide","programming","technology","tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/","name":"How to reverse a doubly linked list in Java? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T11:21:47+00:00","dateModified":"2025-08-06T19:28:23+00:00","description":"Learn about how to reverse a doubly linked list in java?. Comprehensive guide with examples and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-reverse-a-doubly-linked-list-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to reverse a doubly linked list in Java?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=15539"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15539\/revisions"}],"predecessor-version":[{"id":49015,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15539\/revisions\/49015"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=15539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=15539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=15539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}