-
题目:
如题 -
思路:
一个作为输入栈,一个作为输出栈;
push的时候直接进入输入栈,pop的时候优先弹出输出栈元素,若输出栈为空就把输入栈的所有元素整个倒入输出栈用于pop
class CQueue {
private:
stack<int> stkIn, stkOut;
public:
CQueue() {}
void appendTail(int value) {
stkIn.push(value);
}
int deleteHead() {
if (stkOut.empty()) {
while (!stkIn.empty()) {
stkOut.push(stkIn.top());
stkIn.pop();
}
}
if (stkOut.empty()) return -1;
int ans = stkOut.top();
stkOut.pop();
return ans;
}
};
- 总结:
简单,过了