编程语言
首页 > 编程语言> > Java两个栈实现队列

Java两个栈实现队列

作者:互联网

题目来自《剑指offer》

用两个栈实现一个队列,实现尾插和头删的功能。

基于两个数据结构的特点,不难思考出两者的交互方式。

下面以一张图说明:

 代码实现

    static final Stack<Integer> stack1 = new Stack<>();
    static final Stack<Integer> stack2 = new Stack<>();
    // 尾插
    private static void appendTail(Integer i){
        stack1.push(i);
    }
    //头删
    private static void deleteHead(){
        if(stack2.empty()){
            while (!stack1.empty()){
                stack2.push(stack1.peek());
                stack1.pop();
            }
        }

        if(!stack2.empty()){
            stack2.pop();
        }
    }

标签:Java,队列,private,实现,static,stack2,Stack,empty,stack1
来源: https://blog.csdn.net/obitosbb/article/details/122041429