题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
#include <iostream>
#include <stack>
using namespace std;
class Solution{
public:
void push(int num)
{
in.push(num);
}
int pop()
{
int ret;
if(!out.empty())
{
ret=out.top();
out.pop();
return ret;
}
while(!in.empty())
{
out.push(in.top());
in.pop();
}
ret=out.top();
out.pop();
return ret;
}
private:
stack<int> in;
stack<int> out;
};
int main()
{
Solution so;
for (int i=0;i<5;i++)
{
so.push(i);
}
for(int i=0;i<5;i++)
{
int r=so.pop();
cout<<"pop------->"<<r<<endl;
}
return 0;
}