Program to reverse a string using recursion in Java

Carvia Tech | October 09, 2020 | 1 min read | 241 views | Java Coding Challenges


In this article, we will write a program to reverse character positions in a given string using recursive approach.

Sample input
carvia
Reversed output
aivrca

Recursive Approach

  1. We will remove first character from the input string and append it at the end.

  2. Repeat it till all the characters are removed and input becomes empty.

Java source

Reverse a string using Recusion Java
public class ReverseString {

    public String reverse(String input) {
        if (input.isEmpty()) {  (1)
            System.out.println("String is empty now");
            return input;
        }
        return reverse(input.substring(1)) + input.charAt(0);   (2)
    }
}
1 Base condition in recursion
2 Tail recursion

JUnit testcase

We will write a simple Junit based testcase to assert the correctness of our given program.

JUnit Test
import org.junit.Test;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.*;

public class ReverseStringTest {

    @Test
    public void reverse() {
        ReverseString utils = new ReverseString();
        assertThat(utils.reverse("carvia"), equalTo("aivrac"));
    }
}

That’s all.


Java Coding Challenges:
  1. Reverse position of words in a string using recursion
  2. Check if the given string is palindrome
  3. Find two numbers of which the product is maximum in an array
  4. Check a number is Prime: Java Coding Problem
  5. Create anagram buckets from a given input array of words
  6. Anagrams string checker in Java
  7. Java Program to find Factorial of a number
See all articles in Java Coding Challenges
Top articles in this category:
  1. Write a program to reverse the order of words in a string
  2. Reverse position of words in a string using recursion
  3. 50 SDET Java Interview Questions & Answers
  4. Java Program to find Factorial of a number
  5. SDET Java Coding Challenges
  6. How to reverse a number in Java
  7. Anagrams string checker in Java


Find more on this topic:
SDET Interviews image
SDET Interviews

SDET Java Interview pattern and collection of questions covering SDET coding challenges, automation testing concepts, functional, api, integration, performance and security testing, junit5, testng, jmeter, selenium and rest assured

Last updated 1 week ago


Recommended books for interview preparation:

This website uses cookies to ensure you get the best experience on our website. more info