剑指offer-用两个栈去实现队列-Java版
用两个栈实现队列
http://www.nowcoder.com/questionTerminal/54275ddae22f475981afa2244dd448c6
写在前面
代码说明:代码的下载地址: https://github.com/WuNianLuoMeng/Coding
视频说明:第一次以这样的形式录视频,如果有哪里说的不对,还请各位及时指出,谢谢~
用两个栈去实现队列 视频链接
方法一:通过两个栈中元素之间的的复制交换去实现了队列的功能。
import java.util.Stack; public class Main5 { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { while (!stack2.isEmpty()) { stack1.push(stack2.pop()); /// 将栈2中的元素放入到栈1中 } stack1.push(node); } public int pop() { while (!stack1.isEmpty()) { stack2.push(stack1.pop()); /// 将栈1中的元素放入到栈2中 } return stack2.pop(); } }