劍指offer---用兩個棧實現隊列

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

思路:

  入棧時 如果stack2非空,則將stack2的元素轉移至satck1中,然後向stack1入棧

  出棧時,如果stack1非空,則將stack1的元素轉移至stack2中,然後彈出stack2

import java.util.Stack;

public class Solution {
    Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();
    
        public void push(int node) {
     
        while(!stack2.empty()){
            stack1.push(stack2.pop());
        }
        stack1.push(node);
    }
    
    public int pop() {
    
        while(!stack1.empty()){
            stack2.push(stack1.pop());
        }
        int res=stack2.pop();
        return res;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章