68. Implement Queue using Stack
Implement a First-In-First-Out (FIFO) queue using two stacks. The implemented queue should support the following operations: push, pop, peek, and isEmpty.
Implement the StackQueue class:
void push(int x): Adds element x to the end of the queue.
int pop(): Removes and returns the front element of the queue.
int peek(): Returns the front element of the queue without removing it.
boolean isEmpty(): Returns true if the queue is empty, false otherwise.
Example 1:
Input:
["StackQueue", "push", "push", "pop", "peek", "isEmpty"]
[[], [4], [8], [], [], []]
Output:[null, null, null, 4, 8, false]
Explanation:
StackQueue queue = new StackQueue();
queue.push(4);
queue.push(8);
queue.pop(); // returns 4
queue.peek(); // returns 8
queue.isEmpty(); // returns false
Example 2:
Input:
["StackQueue", "isEmpty"]
[[]]
Output: [null, true]
Explanation:
StackQueue queue = new StackQueue();
queue.isEmpty(); // returns true
Now Your Turn!
Pick the correct output for the given inputInput:
["StackQueue", "push", "pop", "isEmpty"]
[[], [6], [], []]
Still unsure what the problem is asking ?
Let’s go through a few more examples, step by step, to make it clearer.
Constraints:
- 1 <= numbers of calls made <= 100
- 1 <= x <= 100