两个栈模拟队列(c++)

用两个栈实现队列

http://www.nowcoder.com/questionTerminal/54275ddae22f475981afa2244dd448c6

/*
第一个栈中入队,
第二个栈中出队,
当第二栈为空时,才可以将第一个栈中的数据存放到其中。
*/
class Solution
{
public:
    void push(int node) {
        stack1.push(node);
    }
    int pop() {
        if(stack2.empty())while(!stack1.empty())stack2.push(stack1.top()),stack1.pop();
        int ans = stack2.top();
        stack2.pop();
        return ans;
    }
private:
    stack<int> stack1;
    stack<int> stack2;
};
全部评论

相关推荐

评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务