diff --git a/src/main/java/com/thealgorithms/strings/ReverseString.java b/src/main/java/com/thealgorithms/strings/ReverseString.java index 996aa68bb307..ff15bb2e1904 100644 --- a/src/main/java/com/thealgorithms/strings/ReverseString.java +++ b/src/main/java/com/thealgorithms/strings/ReverseString.java @@ -86,4 +86,19 @@ public static String reverseStringUsingStack(String str) { } return reversedString.toString(); } + + /** + * Reverse a string using recursion + * + * @param str The input string to reverse + * @return Reversed string + */ + public static String reverseRecursive(String str) { + // Base case: if string is empty or single character + if (str == null || str.length() <= 1) { + return str; + } + // Recursive step: last char + reverse of rest of string + return str.charAt(str.length() - 1) + reverseRecursive(str.substring(0, str.length() - 1)); + } }