Menu
CoddyTech

Valid Palindrome

Sana s dizgesi verilir. Yalnızca harflerini ve rakamlarını tut, büyük ve küçük harfleri aynı harf olarak değerlendir ve geriye kalanın soldan sağa okunuşuyla sağdan sola okunuşunun aynı olup olmadığına karar ver. Aynıysa true, değilse false döndür.

., !, ?, :, ;, - veya _ gibi diğer tüm karakterler yok sayılır. s içinde hiç harf veya rakam yoksa geriye hiçbir şey kalmaz ve boş bir metin palindrom sayılır.

Fonksiyon

isPalindrome(s: string) → boolean
sstring
kontrol edilecek metin, noktalama işaretleri dahil
Döndürürboolean
s içindeki harfler ve rakamlar, büyük/küçük harf ayrımı göz ardı edildiğinde her iki yönde de aynı okunuyorsa true

Kısıtlar

  • 1 ≤ s.length ≤ 5 × 104
  • s İngilizce harfler, rakamlar ve . ! ? : ; - _ noktalama işaretlerini içerir; boşluk içermez.

Örnekler

Girdi
s = "Was_it_a_car_or_a_cat_I_saw?"
Çıktı
true
Açıklama
Alt çizgileri ve soru işaretini kaldırıp büyük harfleri küçültün: wasitacaroracatisaw elde edersiniz; bu, tersten de aynıdır.

lock iconGönderirken +25 gizli test

challenge icon

Ek soru

Temizlenmiş bir s kopyası oluşturmadan, bunu O(1) ek bellekle çözebilir misin?

Kodu sıfırla
def isPalindrome(s):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

s = "Was_it_a_car_or_a_cat_I_saw?"

Beklenen

true