How to check if a string is palindrome by ignoring non-alphanumeric chars and white spaces in Java

1 Answer

0 votes
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("ab   cdcba"));
        System.out.println(is_palindrome("a  bc12 21c      ba"));
        System.out.println(is_palindrome("!ab  @c12$21c*(        ba"));
    }
}


/*
run:

true
true
true

*/

 



answered Aug 4, 2019 by avibootz
...