《劍指offer》系列 用兩個棧實現佇列(Java)
阿新 • • 發佈:2018-12-19
連結
題目描述
用兩個棧來實現一個佇列,完成佇列的Push和Pop操作。 佇列中的元素為int型別。
思路
這裡主要考慮棧和佇列的異同 棧是現先進後出 佇列是先進先出 設定兩個棧 其中第一個壓入值 和佇列沒什麼區別 第二個棧壓入第一個棧彈出的值 再彈出 兩個棧的操作就變成了一個佇列的操作
程式碼
import java.util.Stack; public class Solution { 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.size()==0){ while(stack1.size()>0){ stack2.push(stack1.pop()); } } return stack2.pop(); } }