题解 | #用两个栈实现队列#
用两个栈实现队列
https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
class Solution { public: void push(int node) { stack1.push(node); } int pop() { if (stack2.empty()) { // 注意这个循环次数,不能直接写 i < stack1.size(),因为这个值在循环中变化了。 for (int i = 0, len = stack1.size(); i < len; i++) { stack2.push(stack1.top()); stack1.pop(); } } int val = stack2.top(); stack2.pop(); return val; } private: stack<int> stack1; stack<int> stack2; };