Overview
Dos cadenas son anagramas si contienen los mismos caracteres con las mismas frecuencias (ignorando espacios y mayúsculas).
Analogy
Como reorganizar las letras de "amor" para obtener "Roma" — los mismos bloques, diferente disposición.
Step-by-step
- Limpia ambas cadenas (minúsculas, sin espacios)
- Compara sus versiones ordenadas: sorted(s1) == sorted(s2)
- O compara sus contadores de caracteres
- O usa Counter(s1) == Counter(s2)
Visual
"listen" → sorted → "eilnst"
"silent" → sorted → "eilnst"
¡Son iguales → Anagrama!
Common mistakes
- Olvidar convertir a minúsculas
- No eliminar espacios para frases
Practice questions
- Agrupa anagramas de una lista de palabras
- Encuentra todos los anagramas de una palabra en un diccionario
Time
O(n log n) con ordenación; O(n) con Counter
Space
O(n) — para la versión ordenada o el contador