</>

Technology

Java Programs

Difficulty

Beginner

Interview Question

Write a Java program to reverse a string without using built-in reverse methods.

Answer

Reverse a String in Java

Method 1: Using a Loop (Manual)

Java
public class ReverseString {
    public static void main(String[] args) {
        String original = "Automation";
        String reversed = "";

        for (int i = original.length() - 1; i >= 0; i--) {
            reversed = reversed + original.charAt(i);
        }

        System.out.println("Original: " + original);
        System.out.println("Reversed: " + reversed);
    }
}

Output

CODE
Original: Automation
Reversed: noitamotuA

Method 2: StringBuilder (Best Performance)

Java
public class ReverseStringBuilder {
    public static void main(String[] args) {
        String str = "Automation Testing";

        // StringBuilder has built-in reverse()
        String reversed = new StringBuilder(str).reverse().toString();
        System.out.println(reversed);  // → gnitseT noitamotuA
    }
}

Method 3: char Array Swap

Java
public static String reverseWithSwap(String str) {
    char[] arr = str.toCharArray();
    int left = 0, right = arr.length - 1;

    while (left < right) {
        char temp = arr[left];
        arr[left]  = arr[right];
        arr[right] = temp;
        left++;
        right--;
    }
    return new String(arr);
}

System.out.println(reverseWithSwap("Selenium"));  // → muineleS

Method 4: Recursion

Java
public static String reverseRecursive(String s) {
    if (s.isEmpty()) return s;
    return reverseRecursive(s.substring(1)) + s.charAt(0);
}
System.out.println(reverseRecursive("TestNG"));  // → GNtseT

Check Palindrome Using Reverse

Java
String str = "madam";
String rev = new StringBuilder(str).reverse().toString();
boolean isPalindrome = str.equals(rev);
System.out.println(str + " is palindrome: " + isPalindrome);  // → true

Follow AutomateQA