178. Implement Stack using Queues

EasyDesign

Implement a last-in-first-out (LIFO) stack using only two queues. The implemented stack should support all the functions of a normal stack (push, top, pop, and empty). Implement the MyStack class: - void push(int x) Pushes element x to the top of the stack. - int pop() Removes the element on the top of the stack and returns it. - int top() Returns the element on the top of the stack. - boolean empty() Returns true if the stack is empty, false otherwise. Notes: You must use only standard operations of a queue. Depending on your language, the queue may not be supported natively.

Examples

Input: ["MyStack","push","push","top","pop","empty"] [[],[1],[2],[],[],[]]

Output: [null,null,null,2,2,false]

Explanation: LIFO order from a single queue: top and pop return the most recently pushed value.

Constraints

  • 1 <= x <= 9
  • At most 100 calls will be made to push, pop, top, and empty.
  • All the calls to pop and top are valid.
Loading...

Run checks all cases above. Submit evaluates all test cases.