剑指 Offer 09. 用两个栈实现队列
题目
代码
class CQueue {
public:
stack<int> stk, cache;
CQueue() {
}
void copy(stack<int> &a, stack<int> &b) {
while(a.size()) {
b.push(a.top());
a.pop();
}
}
void appendTail(int value) {
stk.push(value);
}
int deleteHead() {
//关键
if(stk.empty())
return -1;
copy(stk, cache);
int res = cache.top();
cache.pop();
copy(cache, stk);
return res;
}
};

浙公网安备 33010602011771号