Fácil 0 resueltos 0% de aceptación

Palindrome String

Check whether text reads the same forwards and backwards.

Lo que aprenderás

  • Compare characters from both ends
  • Stop early when a mismatch appears
  • Handle empty and one-character strings

Problema

Ver traducción

Decide whether text is a palindrome, considering only letters and digits and ignoring case.

Implement is_palindrome(text).

Input

text: The text to check (ASCII characters).

Output

Return true for a palindrome, otherwise false.

Restricciones

0 ≤ length ≤ 10,000

Ejemplos

Ejemplo 1
Entrada:
text = "Racecar"

Salida esperada:
expected = True
Entrada:
std::string text = "Racecar";

Salida esperada:
bool expected = true;
Entrada:
string text = "Racecar";

Salida esperada:
bool expected = true;

Explicación

Lowercased, "racecar" reads the same both ways.

Ejemplo 2
Entrada:
text = "hello"

Salida esperada:
expected = False
Entrada:
std::string text = "hello";

Salida esperada:
bool expected = false;
Entrada:
string text = "hello";

Salida esperada:
bool expected = false;

Explicación

"hello" backwards is "olleh", which is different.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Ignore anything that is not a letter or digit before comparing.

Pista 2

Move inward from both ends, comparing case-insensitive characters.

Pista 3

Skip punctuation and spaces carefully so they do not break valid palindromes.

Complejidad esperada

O(n) time, O(1) extra space

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.