用两个栈实现队列

题目:

  用两个栈实现队列

题目描述:

  用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

解题:

class Solution
{
public:
    void push(int node) {
        stack1.push(node);
    }
 
    int pop() {
        if(stack2.size()){
            int n = stack2.top();
            stack2.pop();
            return n;
        }else if(stack1.empty()){
            return 0;
        }else{
            while(stack1.size()){
                int n = stack1.top();
                stack1.pop();
                stack2.push(n);
            }
            return pop();
        }
    }
 
private:
    stack<int> stack1;
    stack<int> stack2;
};

系列:


打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦