225. 用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。
实现 MyStack 类:
void push(int x) 将元素 x 压入栈顶。
int pop() 移除并返回栈顶元素。
int top() 返回栈顶元素。
boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。
class MyStack {
public:
queue<int> Queue;
MyStack() {
}
void push(int x) {
Queue.push(x);
}
int pop() {
int size = Queue.size();
size--;
while(size--){
Queue.push(Queue.front());
Queue.pop();
}
int result = Queue.front();
Queue.pop();
return result;
}
int top() {
return Queue.back();
}
bool empty() {
return Queue.empty();
}
};