两个栈实现队列

用两个栈实现队列

https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6?tpId=196&tags=&title=&diffculty=0&judgeStatus=0&rp=1

一个栈A用来保存入队列的数据,另一个栈B用来出队。如果栈B是空的,就需要把栈A全部弹出压入栈B,然后弹出一个元素即可。如果栈B不为空,直接弹出一个元素即可。

Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();

    public void push(int node) {
        stack1.push(node);
    }

    public int pop() {
        if(stack2.size()>0) return stack2.pop();
        while(stack1.size()>0){
            stack2.push(stack1.pop());
        }
        return stack2.pop();
    }
全部评论

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务