Implementar un trie (árbol de prefijos)
Tiempo límite
2 s
Memoria límite
256 MB
Casos de prueba
8
Implementa un trie, un árbol donde cada arista es una letra y cada palabra es un camino desde la raíz. Debe soportar:
insert w: agrega la palabra \(w\).search w: imprimetruesi la palabra \(w\) fue agregada antes (completa) ofalsesi no.prefix p: imprimetruesi alguna palabra agregada antes empieza con \(p\) ofalsesi no.
Entrada
La primera línea tiene \(q\) \((1 \le q \le 5 \cdot 10^4)\) y siguen \(q\) líneas con una operación cada una. Las palabras son de letras minúsculas, de largo entre \(1\) y \(30\).
Salida
Una línea por cada search y prefix, con su respuesta.
Ejemplo 1
Entrada
6
insert apple
search apple
search app
prefix app
insert app
search app
Salida
true
false
true
true
Ejemplo 2
Entrada
4
search a
prefix a
insert ab
prefix a
Salida
false
false
true
Basado en el problema 208 de LeetCode, Implement Trie (Prefix Tree), adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.
Comentarios