Menu
CoddyTech

Valid Palindrome

Дана строка s. Оставьте в ней только буквы и цифры, считайте заглавные и строчные буквы одинаковыми и определите, читается ли оставшийся текст одинаково слева направо и справа налево. Верните true, если это так, и false в противном случае.

Все остальные символы, например ., !, ?, :, ;, - или _, игнорируются. Если в s нет ни букв, ни цифр, ничего не останется, а пустой текст считается палиндромом.

Функция

isPalindrome(s: string) → boolean
sstring
текст для проверки, включая знаки препинания
Возвращаетboolean
истинно, если буквы и цифры в s читаются одинаково в обоих направлениях без учёта регистра

Ограничения

  • 1 ≤ s.length ≤ 5 × 104
  • s содержит английские буквы, цифры и знаки препинания . ! ? : ; - _, без пробелов.

Примеры

Ввод
s = "Was_it_a_car_or_a_cat_I_saw?"
Вывод
true
Пояснение
Убери подчёркивания и вопросительный знак и переведи заглавные буквы в строчные: получится wasitacaroracatisaw, что читается так же и в обратном направлении.

lock icon+25 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Можешь ли ты определить это, используя дополнительную память O(1), не создавая очищенную копию s?

Сбросить код
def isPalindrome(s):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Случай 3

Ввод

s = "Was_it_a_car_or_a_cat_I_saw?"

Ожидается

true