Menu
CoddyTech

Valid Palindrome

FácilDos punterospython iconjava iconcpp iconc iconjs icon+10

Recibes una cadena s. Conserva solo sus letras y dígitos, trata las mayúsculas y las minúsculas como la misma letra y decide si lo que queda se lee igual de izquierda a derecha que de derecha a izquierda. Devuelve true si es así y false en caso contrario.

Se ignoran todos los demás caracteres, como ., !, ?, :, ;, - o _. Si s no contiene ninguna letra ni dígito, no queda nada, y un texto vacío cuenta como palíndromo.

Función

isPalindrome(s: string) → boolean
sstring
el texto que se va a comprobar, incluida la puntuación
Devuelveboolean
verdadero si las letras y los dígitos de s se leen igual en ambas direcciones, ignorando mayúsculas y minúsculas

Restricciones

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene letras inglesas, dígitos y los signos de puntuación . ! ? : ; - _, sin espacios.

Ejemplos

Entrada
s = "Was_it_a_car_or_a_cat_I_saw?"
Salida
true
Explicación
Quita los guiones bajos y el signo de interrogación y pasa las mayúsculas a minúsculas: obtienes wasitacaroracatisaw, que es igual al revés.

lock icon+25 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes decidirlo con memoria adicional O(1), sin crear una copia depurada de s?

Restablecer código
def isPalindrome(s):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

s = "Was_it_a_car_or_a_cat_I_saw?"

Esperado

true