Queue using two stacks
Implement a first-in, first-out queue (push, pop, peek, empty) using only two stacks. Move items from the input stack to the output stack only when the output stack is empty, and explain why each operation is constant time amortized.
No answer yet. Write the first one; the best answer gets endorsed.
