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");
    }
}
            
Input: madam
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");
    }
}
            
Input: racecar
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");
    }
}
            
Input: hello
Output: Not a Palindrome
Strings

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

Check whether a character is a vowel or consonant: C C++ Java Python

Check whether a character is an alphabet or not: C C++ Java Python

Find the ASCII value of a character: C C++ Java Python

Length of the string without using strlen() function: C C++ Java Python

Toggle each character in a string: C C++ Java Python

Count the number of vowels: C C++ Java Python

Remove the vowels from a string: C C++ Java Python

Check if the given string is Palindrome or not: C C++ Java Python

Print the given string in reverse order: C C++ Java Python

Remove all characters from string except alphabets: C C++ Java Python

Remove spaces from a string: C C++ Java Python

Replace a sub-string in a string: C C++ Java Python

Count common sub-sequences in two strings: C C++ Java Python

Compare two strings with wildcard support in one of them: C C++ Java Python

List all permutations of a given string in dictionary order: C C++ Java Python

Operations on Strings: C C++ Java Python