问题描述:使用两个栈实现队列
class CQueue {
private:
stack<int> stack_1;
stack<int> stack_2;
public:
CQueue() {
}
void appendTail(int value) {
stack_1.push(value);
}
int deleteHead() {
if (!stack_2.empty()){
int val = stack_2.top();
stack_2.pop();
return val;
}
else {
if (stack_1.empty())
{
return -1;
}
else
{
while (!stack_1.empty())
{
int val = stack_1.top();
stack_1.pop();
stack_2.push(val);
}
int val = stack_2.top();
stack_2.pop();
return val;
}
}
}
};