题解 | 用两个栈实现队列
用两个栈实现队列
https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6
C++
class Solution { public: // 借助栈的先进后出规则模拟实现队列的先进先出 void push(int node) { stack1.push(node); } int pop() { if (stack2.empty()) { while (!stack1.empty()) { stack2.push(stack1.top()); stack1.pop(); // stack.pop()没有return哦 } } int node = stack2.top(); stack2.pop(); return node; } private: stack<int> stack1; stack<int> stack2; };