首页 > 代码库 > 两个栈实现队列

两个栈实现队列

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.isEmpty()){            while(!stack1.isEmpty()){                stack2.push(stack1.pop());            }        }        return stack2.pop();    }

思路:一个栈如stack1始终是用来存储数据,当另外一个栈不为空时直接从stack2中弹出,若为空时,则将stack1中的值全部压入到stack2中,再将stack2中元素的值取出即可。

两个栈实现队列