From 7ed38b2e6cdf820a01cdaaf3927d3f86d671fb59 Mon Sep 17 00:00:00 2001 From: Nikhilesh Satish Date: Tue, 14 Oct 2025 19:05:42 +0530 Subject: [PATCH 1/6] Added the recursive solution for tower of hanoi --- .../com/thealgorithms/recursion/TowerOfHanoi.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java diff --git a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java new file mode 100644 index 000000000000..3ee837be270b --- /dev/null +++ b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java @@ -0,0 +1,15 @@ +package com.thealgorithms.recursion; + +public class TowerOfHanoi { + public void solveHanoi(int n,char src,char dest,char aux) + { + if(n==1) + { + System.out.println("Move disk 1 from "+src+" to "+dest); + return; + } + solveHanoi(n-1,src,aux,dest); + System.out.println("Move disk "+n+" from "+src+" to "+dest); + solveHanoi(n-1,aux,dest,src); + } +} From 5e7b8d9eea8548735ea49363350ea91c11bebf93 Mon Sep 17 00:00:00 2001 From: Nikhilesh Satish Date: Tue, 14 Oct 2025 19:16:24 +0530 Subject: [PATCH 2/6] Add Tower Of Hanoi recursive implementation --- src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java index 3ee837be270b..92eda91ca87a 100644 --- a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java +++ b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java @@ -1,6 +1,7 @@ package com.thealgorithms.recursion; public class TowerOfHanoi { + public void solveHanoi(int n,char src,char dest,char aux) { if(n==1) @@ -11,5 +12,7 @@ public void solveHanoi(int n,char src,char dest,char aux) solveHanoi(n-1,src,aux,dest); System.out.println("Move disk "+n+" from "+src+" to "+dest); solveHanoi(n-1,aux,dest,src); + } + } From 4c70c4d16a7e46a4effeb9d5a779469155777088 Mon Sep 17 00:00:00 2001 From: Nikhilesh Satish Date: Tue, 14 Oct 2025 19:20:00 +0530 Subject: [PATCH 3/6] Add Tower Of Hanoi recursive implementation --- src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java index 92eda91ca87a..cd22005f1de1 100644 --- a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java +++ b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java @@ -1,5 +1,7 @@ package com.thealgorithms.recursion; +/*Tower of Hanoi Problem on Wikipedia - https://en.wikipedia.org/wiki/Tower_of_Hanoi */ + public class TowerOfHanoi { public void solveHanoi(int n,char src,char dest,char aux) From 4eab717c4ea9462e41e4dea0cf001a3215696ae3 Mon Sep 17 00:00:00 2001 From: Nikhilesh Satish Date: Tue, 14 Oct 2025 19:49:40 +0530 Subject: [PATCH 4/6] Added Tower of Hanoi code using recursion and a sample test --- .../thealgorithms/recursion/TowerOfHanoi.java | 16 ++++++---------- .../recursion/TowerOfHanoiTest.java | 11 +++++++++++ 2 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 src/test/java/com/thealgorithms/recursion/TowerOfHanoiTest.java diff --git a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java index cd22005f1de1..777a35cf0c9f 100644 --- a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java +++ b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java @@ -4,17 +4,13 @@ public class TowerOfHanoi { - public void solveHanoi(int n,char src,char dest,char aux) - { - if(n==1) - { - System.out.println("Move disk 1 from "+src+" to "+dest); + public static void solveHanoi(int n, char src, char dest, char aux) { + if (n == 1) { + System.out.println("Move disk 1 from " + src + " to " + dest); return; } - solveHanoi(n-1,src,aux,dest); - System.out.println("Move disk "+n+" from "+src+" to "+dest); - solveHanoi(n-1,aux,dest,src); - + solveHanoi(n - 1, src, aux, dest); + System.out.println("Move disk " + n + " from " + src + " to " + dest); + solveHanoi(n - 1, aux, dest, src); } - } diff --git a/src/test/java/com/thealgorithms/recursion/TowerOfHanoiTest.java b/src/test/java/com/thealgorithms/recursion/TowerOfHanoiTest.java new file mode 100644 index 000000000000..f68d9bd56508 --- /dev/null +++ b/src/test/java/com/thealgorithms/recursion/TowerOfHanoiTest.java @@ -0,0 +1,11 @@ +package com.thealgorithms.recursion; + +import org.junit.jupiter.api.Test; + +class TowerOfHanoiTest { + + @Test + void testSolve() { + TowerOfHanoi.solveHanoi(3, 'A', 'B', 'C'); + } +} From 026f27a3a35909f036694de0732fbd99362814e8 Mon Sep 17 00:00:00 2001 From: Nikhilesh Satish Date: Tue, 14 Oct 2025 20:04:10 +0530 Subject: [PATCH 5/6] Added Tower of Hanoi recursive algorithm and a sample test case --- src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java index 777a35cf0c9f..c3f2ed1ec1a1 100644 --- a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java +++ b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java @@ -2,8 +2,8 @@ /*Tower of Hanoi Problem on Wikipedia - https://en.wikipedia.org/wiki/Tower_of_Hanoi */ -public class TowerOfHanoi { - +public final class TowerOfHanoi { + private TowerOfHanoi(){} public static void solveHanoi(int n, char src, char dest, char aux) { if (n == 1) { System.out.println("Move disk 1 from " + src + " to " + dest); From e7e52633eab2efa02b63a3aa937db6de70f12971 Mon Sep 17 00:00:00 2001 From: Nikhilesh Satish Date: Tue, 14 Oct 2025 22:16:02 +0530 Subject: [PATCH 6/6] Solution for Tower of Hanoi problem using recursion --- src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java index c3f2ed1ec1a1..a1e28f4038d3 100644 --- a/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java +++ b/src/main/java/com/thealgorithms/recursion/TowerOfHanoi.java @@ -3,7 +3,8 @@ /*Tower of Hanoi Problem on Wikipedia - https://en.wikipedia.org/wiki/Tower_of_Hanoi */ public final class TowerOfHanoi { - private TowerOfHanoi(){} + private TowerOfHanoi() { + } public static void solveHanoi(int n, char src, char dest, char aux) { if (n == 1) { System.out.println("Move disk 1 from " + src + " to " + dest);