Implement a first in first out (FIFO) queue using only two stacks. The implemented queue should support all the functions of a normal queue: push, peek, pop, and empty.
Implement the MyQueue class:
MyQueue() — Initializes the queue object.push(x) — Pushes element x to the back of the queue.pop() — Removes the element from the front of the queue and returns it.peek() — Returns the element at the front of the queue without removing it.empty() — Returns true if the queue is empty, false otherwise.Notes:
["MyQueue","push","push","peek","pop","empty"]
[[],[1],[2],[],[],[]][null,null,null,1,1,false]1 <= x <= 9At most 100 calls will be made to push, pop, peek, and emptyAll calls to pop and peek are valid (i.e., the queue is non-empty when called)Expected time complexity: O(1) amortizedRun your code to see results
Use Cmd+Enter to run