Menu
CoddyTech

Valid Palindrome

FacileDue puntatoripython iconjava iconcpp iconc iconjs icon+10

Ti viene data una stringa s. Mantieni solo le lettere e le cifre, considera le maiuscole e le minuscole come la stessa lettera e determina se ciò che rimane si legge allo stesso modo da sinistra a destra e da destra a sinistra. Restituisci true se è così e false in caso contrario.

Tutti gli altri caratteri, come ., !, ?, :, ;, - o _, vengono ignorati. Se s non contiene lettere o cifre, non rimane nulla e un testo vuoto è considerato un palindromo.

Funzione

isPalindrome(s: string) → boolean
sstring
il testo da controllare, punteggiatura inclusa
Restituisceboolean
true se le lettere e le cifre di s si leggono allo stesso modo in entrambe le direzioni, ignorando maiuscole e minuscole

Vincoli

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene lettere inglesi, cifre e i segni di punteggiatura . ! ? : ; - _, senza spazi.

Esempi

Input
s = "Was_it_a_car_or_a_cat_I_saw?"
Output
true
Spiegazione
Elimina i trattini bassi e il punto interrogativo e trasforma le lettere maiuscole in minuscole: ottieni wasitacaroracatisaw, che è uguale al contrario.

lock icon+25 test nascosti all’invio

challenge icon

Per approfondire

Riesci a deciderlo usando memoria aggiuntiva O(1), senza creare una copia ripulita di s?

Ripristina il codice
def isPalindrome(s):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

s = "Was_it_a_car_or_a_cat_I_saw?"

Atteso

true