5. 棧和隊列-用兩個棧實現(xiàn)隊列

題目描述

用兩個棧來實現(xiàn)一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。

/**
 * Created by ZengXihong 2019-05-30.
 */

import java.util.Stack;

/**
 * 題目描述
 * 用兩個棧來實現(xiàn)一個隊列,完成隊列的Push和Pop操作。
 * 隊列中的元素為int類型。
 */

/**
 * 棧   先進后出
 * 隊列 先進先出
 */
public class Solution5 {
    Stack<Integer> stack1 = new Stack<Integer>();
    Stack<Integer> stack2 = new Stack<Integer>();

    // 將數(shù)據(jù)都放到stack1 中 ,先進去的在 stack1 棧底
    public void push(int node) {
        stack1.push(node);
    }
   // 當要出棧時,先判斷 stack2 是否為空,如果為空,則將stack1 中的數(shù)據(jù)出棧并且入棧 stack2 中
   // 這樣原本stack1 中的棧底元素就在stack2 的棧頂 ,再stack2 出棧就達到了最先進的數(shù)據(jù)最先出去,即隊列
    public int pop() {
        if (stack2.isEmpty()) {
            while (!stack1.isEmpty()) {
                stack2.push(stack1.pop());
            }
        }
        return stack2.pop();
    }
}

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容