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
