Является ли слово палиндромом
public class Palindrome {
public static void main(String[] args) {
String word = "шалаш";
System.out.println(isPalindrome(word));
}
private static boolean isPalindrome(String word) {
int count = word.length() / 2;
int j = word.length() - 1;
for (int i = 0; i < count; i++) {
if (word.charAt(i) != word.charAt(j)) {
return false;
}
j--;
}
return true;
}
}
Суть алгоритма в том, что бы сравнивать поочередно первую букву с последней, вторую с предпоследней и так далее. Как только одна из пар не совпадет, сразу выходим - слово не палиндром.
Количество итераций это размер слова деленное на 2, потому как за раз мы проверяем две буквы. Счетчик i это индекс очередной буквы слева, а j справа.
Палиндром это слово которое читается одинаково слева направо и справа налево.