w3resource

Java: Reverse a string using recursion


44. Reverse String Recursively

Write a Java program to reverse a string using recursion.

Visual Presentation:

Java String Exercises: Reverse a string using recursion


Sample Solution:

Java Code:

// Importing necessary Java utilities.
import java.util.*;

// Define a class named Main.
class Main {
    
    // Method to reverse a string recursively.
    void reverseString(String str1) {
        // Base case: if the string is null or has a length less than or equal to 1, print the string.
        if ((str1 == null) || (str1.length() <= 1))
            System.out.println(str1);
        else {
            // Print the last character of the string.
            System.out.print(str1.charAt(str1.length() - 1));
            
            // Recursive call to reverseString method by excluding the last character.
            reverseString(str1.substring(0, str1.length() - 1));
        }
    }
    
    // Main method to execute the program.
    public static void main(String[] args) {
        String str1 = "The quick brown fox jumps"; // Given input string.
        
        // Display the given string.
        System.out.println("The given string is: " + str1);
        
        // Display the string in reverse order.
        System.out.println("The string in reverse order is:");
        
        // Create an object of Main class to call the reverseString method.
        Main obj = new Main();
        obj.reverseString(str1);
    }
}

Sample Output:

The given string is: The quick brown fox jumps
The string in reverse order is:
spmuj xof nworb kciuq ehT

Flowchart:

Flowchart: Java String  Exercises - Reverse a string using recursion


For more Practice: Solve these Related Problems:

  • Write a Java program to reverse a string recursively without using any iterative loops.
  • Write a Java program to recursively reverse each word in a sentence while preserving word order.
  • Write a Java program to implement a recursive method that reverses a string and then checks if it is a palindrome.
  • Write a Java program to recursively reverse a string and then concatenate the original with its reverse.

Go to:


PREV : Most Frequent Character.
NEXT : Reverse Words in String.

Java Code Editor:

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.