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:
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.empty() Returns true if the queue is empty, false otherwise.Notes:
push to top, peek/pop from top, size, and is empty operations are valid.Example 1:
Input:
`
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[], [1], [2], [], [], []]
`
Output: [null, null, null, 1, 1, false]
Explanation:
`
MyQueue myQueue = new MyQueue();
myQueue.push(1); // queue is: [1]
myQueue.push(2); // queue is: [1, 2]
myQueue.peek(); // return 1
myQueue.pop(); // return 1, queue is [2]
myQueue.empty(); // return false
`
1 <= x <= 9100 calls will be made to push, pop, peek, and emptypop and peek are valid