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

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

class Solution
{
public:
	//进队:直接将数据压入到栈1 
    void push(int node) {
        stack1.push(node); 
    }
	//出队:若栈2为空,将栈1全部出栈压入栈2,否则栈2直接出栈 
    int pop() {
        if(stack2.empty()){
        	while(!stack1.empty)
        	{
        		stack2.push(stack1.top());
        		stack1.pop();
			}
		} 
		int t=stack2.top();
		stack2.pop();
		return t;
    }

private:
    stack<int> stack1;
    stack<int> stack2;
};

阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页