Reverse a String Recursively in Java
In this article, we will learn how to reverse string using recursive approach with stack trace.
As we all know, Recursion is concept where method is calling itself until base case does not satisfy.
Example 1 : Reverse string recursively with return
import java.util.Scanner;
public class ReverseString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter String for Reverse :");
String str = sc.nextLine();
String reverseStr = reverseStringByRecursive(str);
System.out.println("Reversed String : \n"+reverseStr);
}
private static String reverseStringByRecursive(String str) {
if ( str.equals("")) {
return "";
}
return reverseStringByRecursive( str.substring(1)) + str.charAt(0);
}
}
Output :
Enter String for Reverse :
java
Reversed String :
avaj
As we can see, when we call reverseStringByRecursive() method with "java" string it stores all characters one by one until it return empty string (""). At last it returns reverse string as we can seen in above pic.
We can also reverse string without return. lets see code of that
Example 2 : Reverse string recursively without return
public class ReverseString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter String for Reverse :");
String str = sc.nextLine();
System.out.println("Reversed String :");
reverseStringByRecursive(str);
}
private static void reverseStringByRecursive(String str) {
if (str.equals("")) {
System.out.print(str);
} else {
System.out.print(str.charAt(str.length()-1));
reverseStringByRecursive(str.substring(0,str.length()-1));
}
}
}
Output :
Enter String for Reverse :
hello
Reversed String :
olleh
Happy learning. Happy coding.
Other articles you may like :
Reverse Linked List (LL) using Iterative (While loop) and Recursive approach in Java
Most asked interview questions and answers for Java developers on Core Java
Comments
Post a Comment