该题目比较基础,注意情况分析到位即可。在橘皮算法,王道的书里,也有该基本题。
package 剑指Offer.两个栈模拟队列 import java.util.Stack; /** * @program:多线程和IO * @descripton: * @author:ZhengCheng * @create:2021/9/16-21:06 **/ public class TwoStackQueue { public static void main(String[] args) { A<Integer> a = new A<>(); a.push(1); a.push(2); System.out.println(a.pop()); a.push(31); a.push(14); System.out.println(a.pop()); System.out.println(a.pop()); System.out.println(a.pop()); } } class A<E> { private static Stack stack1 = new Stack(); private static Stack stack2 = new Stack(); public void push(int t) { stack1.push(t); } public E pop() { if (stack2.isEmpty()){ if (stack1.isEmpty()){ return null; }else { while (!stack1.isEmpty()){ stack2.push(stack1.pop()); } return (E) stack2.pop(); } }else { return (E) stack2.pop(); } } }