public class MyClass {
public static boolean is_palindrome(String s) {
String s1 = remove_non_alphanumeric(s);
String s2 = new StringBuilder(s1).reverse().toString();
return s2.equals(s1);
}
public static String remove_non_alphanumeric(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (Character.isLetterOrDigit(s.charAt(i))) {
sb.append(s.charAt(i));
}
}
return sb.toString();
}
public static void main(String args[]) {
System.out.println(is_palindrome("abcdcba"));
System.out.println(is_palindrome("abc1221cba"));
System.out.println(is_palindrome("!ab@c12$21c*(ba"));
}
}
/*
run:
true
true
true
*/