Cola implementada con pilas
Implementa una cola (el primero que entra es el primero que sale) usando solo dos pilas y sus operaciones básicas (apilar, desapilar, mirar el tope, ver si está vacía). Debe soportar:
push x: agrega \(x\) al final de la cola.pop: saca el elemento del frente e imprímelo.peek: imprime el elemento del frente sin sacarlo.empty: imprimetruesi la cola está vacía ofalsesi no.
Cada operación debe costar \(O(1)\) amortizado. (El juez solo revisa la salida, así que no puede obligarte a usar pilas: el ejercicio es hacerlo así.)
Entrada
La primera línea tiene \(q\) \((1 \le q \le 10^5)\) y siguen \(q\) líneas con una operación cada una. Se garantiza
que pop y peek solo aparecen con la cola no vacía, y que \(1 \le x \le 10^9\).
Salida
Una línea por cada pop, peek y empty, con lo que pide la operación.
Ejemplo 1
Entrada
5
push 1
push 2
peek
pop
empty
Salida
1
1
false
Ejemplo 2
Entrada
6
empty
push 7
empty
pop
push 3
peek
Salida
true
false
7
3
Basado en el problema 232 de LeetCode, Implement Queue using Stacks, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.
Comentarios