public class Main {
    public static void main(String[] args) {
        System.out.println(ehPalindromo("A man a plan a canal Panama")); // true
        System.out.println(ehPalindromo("arara"));                      // true
        System.out.println(ehPalindromo("palindromo"));                 // false
        System.out.println(ehPalindromo("Socorram-me, subi no ônibus em Marrocos")); // true
    }
    public static boolean ehPalindromo(String frase) {
        if (frase == null) {
            return false;
        }
        // Remove tudo que não for letra ou número e converte para minúsculas
        String limpa = frase.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
        // Compara a string limpa com sua versão invertida
        return new StringBuilder(limpa).reverse().toString().equals(limpa);
    }
}