劍指Offer刷題Java版——兩個棧實現隊列

題目

用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。

解題思路

兩個棧一個用來壓入,一個用來彈出。需要彈出的時候就把壓入棧裏的元素搞到彈出棧中即可。很簡單的題,沒啥可說的

解題代碼

public class TwoStack {
    //用來push
    Stack<Integer> stack1 = new Stack<Integer>();
    //用來pop
    Stack<Integer> stack2 = new Stack<Integer>();

    public void push(int node) {
        stack1.push(node);
    }

    public int pop() {
        if (stack2.isEmpty()){
            int size = stack1.size();
            for (int i = 0;i<size;i++){
                stack2.push(stack1.pop());
            }
        }
        return stack2.pop();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章