【剑指offer】两个栈实现一个队列 push pop
题目
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
class Solution
{
public:
//stack1 push
void push(int node) {
stack1.push(node);
}
//stack2 pop
int pop() {
if (stack2.empty()) //!!!仅在pop栈非空时才可以压入数据
{
while (!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
int value = stack2.top();
stack2.pop();
return value;
}
private:
stack<int> stack1;
stack<int> stack2;
};
还没有评论,来说两句吧...