0Pricing
Coding Interview Prep · Lección

Comprobaciones correctas de palíndromos

Compare desde ambos extremos de forma eficiente

Comprobaciones correctas de palíndromos es una lección gratuita de Coding Interview Prep en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Coding Interview Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Coding Interview Prep incluye 4 lecciones en total.

Qué es un palíndromo

Un palíndromo se lee igual de izquierda a derecha que de derecha a izquierda, como «reconocer» o «radar». Comprobar si una cadena lo es es un ejercicio clásico de introducción. 🔁

El truco del slicing

Python puede invertir una cadena con el slicing s[::-1]. Compárelo con la cadena original y tendrá una comprobación en una sola línea.

s = 'level'
print(s == s[::-1])  # True

El slicing consume memoria adicional

El enfoque con slicing es breve, pero crea una copia completa invertida. En cadenas enormes, esa memoria adicional puede ser importante cuando los límites son estrictos.

La técnica de los dos punteros

Coloque un puntero al principio y otro al final. Compárelos y avance ambos hacia el centro. Esto usa O(1) de espacio adicional.

i, j = 0, len(s) - 1
while i < j:
    if s[i] != s[j]:
        break
    i += 1; j -= 1

Detenerse en el centro

Los punteros solo necesitan encontrarse a mitad de camino. Cuando i no es menor que j, todos los pares han coincidido y la cadena es un palíndromo.

Una discrepancia permite detenerse antes

El bucle de dos punteros puede devolver False en cuanto un par sea diferente. Rara vez tendrá que recorrer toda la cadena, lo que ofrece una buena mejora de velocidad.

def is_pal(s):
    i, j = 0, len(s) - 1
    while i < j:
        if s[i] != s[j]: return False
        i += 1; j -= 1
    return True

Ambos son O(n)

En ambos casos, cada carácter se examina como máximo una vez, por lo que los dos métodos se ejecutan en tiempo lineal. Solo se diferencian en la memoria adicional que utilizan.

Normalizar primero

Muchos problemas ignoran las mayúsculas, minúsculas y los espacios. Limpie la cadena primero convirtiéndola a minúsculas y conservando solo letras y dígitos.

raw = 'A man, a plan'
clean = ''.join(c.lower() for c in raw if c.isalnum())

Después, comprobar la cadena limpia

Una vez normalizada, ejecute la comprobación habitual de palíndromo sobre la versión limpia. Este es el patrón estándar para los palíndromos formados por frases.

print(clean == clean[::-1])

Los punteros omiten las letras no alfanuméricas

En lugar de limpiar primero la cadena, dos punteros pueden omitir directamente cualquier carácter no alfanumérico. Así evita crear una segunda cadena.

Palíndromos en subcadenas

Los problemas más difíciles preguntan por subcadenas palindrómicas. La idea central es expandirse desde el centro: crecer hacia fuera desde cada posición mientras los extremos coincidan.

Comprobación rápida

Una pregunta sobre la comprobación de palíndromos.

Repaso

Ahora puede comprobar palíndromos con un slicing rápido o con dos punteros que usan poca memoria, y normalizar entradas desordenadas antes de comprobarlas. 🎉

Preguntas frecuentes

¿La lección «Comprobaciones correctas de palíndromos» es gratis?

Sí — el texto completo de «Comprobaciones correctas de palíndromos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Coding Interview Prep, actualiza a CoddyKit PRO. El curso de Coding Interview Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Comprobaciones correctas de palíndromos»?

Compare desde ambos extremos de forma eficiente Practicas Coding Interview Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Coding Interview Prep?

No se requiere experiencia previa. Coding Interview Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Comprobaciones correctas de palíndromos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Coding Interview Prep?

Sí. Cada lección de Coding Interview Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Trucos con caracteres, ord y chr
  2. Cuente letras con una tabla de frecuencias
  3. Comprobaciones correctas de palíndromos
  4. Separe, elimine y vuelva a unir palabras
← Volver a Coding Interview Prep