Valid Palindrome in Java: Explanation & Practice
Check if string is palindrome considering only alphanumeric
Problem summary
Given a string, determine if it's a palindrome considering only alphanumeric characters and ignoring case. Use two pointers from both ends.
Starter code
public class Main {
public static void main(String[] args) {
String s = "A man, a plan, a canal: Panama";
// Two pointers: left and right
// Skip non-alphanumeric characters
// Compare characters (case-insensitive)
// Print: Is palindrome: true
}
}Expected output and test cases
- A man, a plan, a canal: Panama
Is palindrome: true
- race a car
Is palindrome: false
-
Is palindrome: true
Hints
- Use Character.isLetterOrDigit() to check valid characters
- Use Character.toLowerCase() for case-insensitive comparison
- Move pointers inward, skipping invalid characters
- If characters don't match, it's not a palindrome
Related Data Structures & Algorithms exercises
- Practice Container With Most Water in Java
- Practice Three Sum in Java
- Practice Maximum Sum Subarray of Size K in Java
Practice all Data Structures & Algorithms exercises · Run this idea in the Java compiler