Skip to content
Related Articles

Related Articles

Improve Article

Java program to check whether a string is a Palindrome

  • Difficulty Level : Basic
  • Last Updated : 03 Feb, 2021

Given a string str, the task is to find whether the string is a palindrome or not in Java without using library methods.


Input: str = “abba” 
Output: Yes

Input: str = “geeks” 
Output: No  

Approach: Take two pointers i pointing to the start of the string and j pointing to the end of the string. Keep incrementing i and decrementing j while i < j and at every step check whether the characters at these pointers are same or not. If not then the string is not a palindrome else it is.

Below is the implementation of the above approach: 


// Java implementation of the approach
public class GFG {
    // Function that returns true if
    // str is a palindrome
    static boolean isPalindrome(String str)
        // Pointers pointing to the beginning
        // and the end of the string
        int i = 0, j = str.length() - 1;
        // While there are characters to compare
        while (i < j) {
            // If there is a mismatch
            if (str.charAt(i) != str.charAt(j))
                return false;
            // Increment first pointer and
            // decrement the other
        // Given string is a palindrome
        return true;
    // Driver code
    public static void main(String[] args)
        String str = "geeks";
        if (isPalindrome(str))


Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up
Recommended Articles
Page :