class Stack {
public:
// Push element x onto stack.
queue<int> stack;
void push(int x) {
stack.push(x);
}
// Removes the element on top of the stack.
void pop() {
queue<int>x;
while(stack.size() > 1){
x.push(stack.front());
stack.pop();
}
if(stack.size()>0)stack.pop();
while(x.size()>0){
stack.push(x.front());
x.pop();
}
}
// Get the top element.
int top() {
return stack.back();
queue<int>x;
while(stack.size() > 1){
x.push(stack.front());
stack.pop();
}
int ans = 0;
if(stack.size()>0){
ans = stack.front();
x.push(ans);
stack.pop();
}
while(x.size()>0){
stack.push(x.front());
x.pop();
}
return ans;
}
// Return whether the stack is empty.
bool empty() {
return stack.size() == 0;
}
};
leetcode 225. Implement Stack using Queues
最新推荐文章于 2021-02-28 14:00:39 发布