Напишите проверку на то, является ли строка палиндромом.
Палиндром — это слово или фраза, которые одинаково читаются слева направо и справа налево.
def is_palindrome(s):
# Удаляем пробелы и приводим строку к нижнему регистру
s = s.replace(" ", "").lower()
# Сравниваем строку с её обратным порядком
return s == s[::-1]
# Пример использования
string_to_check = "A man a plan a canal Panama"
result = is_palindrome(string_to_check)
if result:
print(f'Строка "{string_to_check}" является палиндромом.')
else:
print(f'Строка "{string_to_check}" не является палиндромом.')
Этот код удаляет пробелы из строки, приводит её к нижнему регистру и затем сравнивает её с обратным порядком. Если строки равны, то строка является палиндромом. В данном примере вывод будет:
Строка "A man a plan a canal Panama" является палиндромом.
или
class Solution:
def isPalindrome(self, s: str) -> bool:
# Удаляем пробелы и приводим строку к нижнему регистру
s = ''.join(char.lower() for char in s if char.isalnum())
# Сравниваем строку с её обратным порядком
return s == s[::-1]
public class Solution {
public static void main(String[] args) {
String str = "radar";
boolean isPalindrome = isPalindrome(str);
if (isPalindrome) {
System.out.println("Строка \"" + str + "\" является палиндромом.");
} else {
System.out.println("Строка \"" + str + "\" не является палиндромом.");
}
}
public static boolean isPalindrome(String str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}