import java.util.Stack;java
public class Solution {node
Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); //入對列的實現 public void push(int node) { //將數據放到堆棧stack1中便可 stack1.push(node); } //出對列的實現方法 public int pop() { //判斷stack1是否爲空,不爲空,則stack1出棧,放到stack2中 while(!stack1.isEmpty()){ stack2.push(stack1.pop()); } //stack2的棧尾正好是stack1的棧底,取得隊列的頭一個元素 int first = stack2.pop(); //爲啥要作這個操做呢,由於若是再有元素進隊列,若是不把元素移回去,有元素進入,就不是隊列 //比如作事情,看到成功,還有善後工做 while(!stack2.isEmpty()){ stack1.push(stack2.pop()); } return first; }
}code