Палиндром – это слово-перевёртыш, которое читается одинаково слева направо и справа налево. В данной статье мы рассмотрим, как с помощью стандартного JavaSE можно проверить, является ли строка палиндромом.

Проверка строки на палиндромность

Вот простейший код, который позволяет выяснить, является ли заданная строка палиндромом. Этот метод не является null-safe и, возможно, вы захотите добавить проверку параметра str на null.

public static boolean isPalindrome(String str) {
    return str.equalsIgnoreCase(new StringBuffer(str).reverse().toString());
}

С помощью конструкции new StringBuffer(str).reverse().toString() мы формируем инвертированную строку, а затем с помощью метода equalsIgnoreCase сверяем её с изначальной строкой, игнорируя регистр букв.

Исходный код

public class IsStringPalindrome {
    public static void main(String[] args) {
        System.out.println(isPalindrome("шалаш")); // true
        System.out.println(isPalindrome("ротор")); // true
        System.out.println(isPalindrome("мотор")); // false
    }

    public static boolean isPalindrome(String str) {
        return str.equalsIgnoreCase(new StringBuffer(str).reverse().toString());
    }
}

Заключение

В данной статье мы разобрались, как узнать, является ли строка палиндромом в Java.

Является ли строка палиндромом