232.用栈实现队列
题目链接/文章讲解/视频讲解:代码随想录
class MyQueue {
private:
stack<int> stackA;
stack<int> stackB;
public:
MyQueue() {
}
void push(int x) {
stackA.push(x);
}
int pop() {
int store;
if(stackB.empty()){
while(!stackA.empty()){
stackB.push(stackA.top());
stackA.pop();
}
}
store = stackB.top();
stackB.pop();
return store;
}
int peek() {
if(stackB.empty()){
while(!stackA.empty()){
stackB.push(stackA.top());
stackA.pop();
}
}
return stackB.top();
}
bool empty() {
if(stackA.empty() && stackB.empty()){
return true;
}
else{
return false;
}
}
};
225. 用队列实现栈
题目链接/文章讲解/视频讲解:代码随想录
class MyStack {
private:
queue<int> queueA;
public:
MyStack() {
}
void push(int x) {
queueA.push(x);
}
int pop() {
int store;
for(int i = queueA.size(); i > 1 ;i--)
{
queueA.push(queueA.front());
queueA.pop();
}
store = queueA.front();
queueA.pop();
return store;
}
int top() {
int store;
for(int i = queueA.size(); i > 1 ;i--)
{
queueA.push(queueA.front());
queueA.pop();
}
store = queueA.front();
queueA.push(queueA.front());
queueA.pop();
return store;
}
bool empty() {
return queueA.empty();
}
};