Check if the given string is Palindrome or not in Java
Understanding Palindrome
A palindrome is a string that reads the same forward and backward.
We will explore three different methods to check if a string is a palindrome using Java.
Method 1: Using a Loop
This method iterates through the string and checks if it is a palindrome.
public class PalindromeCheck {
public static boolean isPalindrome(String str) {
int l = 0, r = str.length() - 1;
while (l < r) {
if (str.charAt(l) != str.charAt(r))
return false;
l++; r--;
}
return true;
}
public static void main(String[] args) {
String str = "madam";
if (isPalindrome(str))
System.out.println("Palindrome");
else
System.out.println("Not a Palindrome");
}
}
Output: Palindrome
Method 2: Using Recursion
This method checks palindrome property recursively.
public class PalindromeRecursion {
public static boolean isPalindromeRecursive(String str, int l, int r) {
if (l >= r) return true;
if (str.charAt(l) != str.charAt(r)) return false;
return isPalindromeRecursive(str, l + 1, r - 1);
}
public static void main(String[] args) {
String str = "racecar";
if (isPalindromeRecursive(str, 0, str.length() - 1))
System.out.println("Palindrome");
else
System.out.println("Not a Palindrome");
}
}
Output: Palindrome
Method 3: Using String Reverse
This method reverses the string and compares it with the original.
public class PalindromeReverse {
public static void main(String[] args) {
String str = "hello";
String rev = new StringBuilder(str).reverse().toString();
if (str.equals(rev))
System.out.println("Palindrome");
else
System.out.println("Not a Palindrome");
}
}
Output: Not a Palindrome