Skip to main content

Java Interview Question: Check if a String is a Palindrome

 ðŸ”¹ Introduction

String problems are very common in Java interviews.
One of the easiest yet frequently asked questions is:

👉 Check whether a given string is a palindrome.

Let’s understand how to solve it step by step.


🔹 Problem Statement

A string is called a palindrome if it reads the same forward and backward.

Example:

Input: madam
Output: Palindrome

Input: hello
Output: Not a Palindrome

🔹 Approach 1: Using Two Pointers (Best Method)

  1. Start one pointer from the beginning
  2. Start another pointer from the end
  3. Compare characters
  4. If all match → Palindrome

🔹 Java Code (Two Pointer Approach)

public class PalindromeCheck {
public static void main(String[] args) {
String str = "madam";

int left = 0;
int right = str.length() - 1;
boolean isPalindrome = true;

while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
isPalindrome = false;
break;
}
left++;
right--;
}

if (isPalindrome) {
System.out.println("Palindrome");
} else {
System.out.println("Not a Palindrome");
}
}
}

🔹 Approach 2: Using StringBuilder (Simple Method)

Reverse the string and compare.


🔹 Java Code (StringBuilder)

public class PalindromeCheck {
public static void main(String[] args) {
String str = "madam";

String reversed = new StringBuilder(str).reverse().toString();

if (str.equals(reversed)) {
System.out.println("Palindrome");
} else {
System.out.println("Not a Palindrome");
}
}
}

🔹 Time Complexity

  • O(n) → Efficient solution

🔹 Key Takeaways

✔ Two-pointer approach is optimal
✔ StringBuilder makes it simple
✔ Very frequently asked in interviews


🔹 Conclusion

Palindrome is one of the most basic and important string problems.
Make sure you understand both approaches for interviews.

🔗 Also Read

👉 First Non-Repeating Character in Java
👉 Check Palindrome String in Java

Comments

Popular posts from this blog

Top Java Interview Question: First Non-Repeating Character in a String

  🔹 Introduction Java interviews often include string-based questions. One of the most commonly asked questions is: 👉 Find the first non-repeating character in a string. In this article, we will solve it step by step in a simple and easy-to-understand way. 🔹 Problem Statement Given a string, find the first character that does not repeat. Example: Input: aabbcde Output: c 🔹 Approach To solve this problem efficiently: Count frequency of each character Maintain insertion order Traverse again to find the first character with frequency = 1 👉 We use LinkedHashMap because: It maintains insertion order Helps us find the first non-repeating character 🔹 Java Code import java . util . *; public class FirstNonRepeating { public static void main ( String [] args ) { String str = "aabbcde" ; Map < Character , Integer > map = new LinkedHashMap <>(); // Count frequency for ( char ch : str . to...

Java Interview Question: Separate Even and Odd Numbers Using Streams (With Examples)

  🔹 Introduction Separating even and odd numbers is a common Java interview question. It helps test your understanding of Java Streams, filtering, and partitioning . 👉 In this article, we will solve this using: Traditional approach Java Streams (modern approach) 🔹 Problem Statement Given a list of integers, separate even and odd numbers. Example: Input: [1, 2, 3, 4, 5, 6] Output: Even: [2, 4, 6], Odd: [1, 3, 5] 🔹 Approach 1: Using Loop (Basic) 💡 Explanation Traverse list Check number % 2 Store in separate lists 👨‍💻 Java Code import java . util . *; public class EvenOdd { public static void main ( String [] args ) { List < Integer > list = Arrays . asList ( 1 , 2 , 3 , 4 , 5 , 6 ); List < Integer > even = new ArrayList <>(); List < Integer > odd = new ArrayList <>(); for ( int num : list ) { if ( num % 2 == 0 ) { even . add ( num )...