中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用棧實現隊列的方法

發布時間:2021-06-23 10:50:37 來源:億速云 閱讀:129 作者:chen 欄目:大數據

這篇文章主要講解了“用棧實現隊列的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“用棧實現隊列的方法”吧!

使用棧實現隊列的下列操作:

push(x) -- 將一個元素放入隊列的尾部。
pop() -- 從隊列首部移除元素。
peek() -- 返回隊列首部的元素。
empty() -- 返回隊列是否為空。
示例:

MyQueue queue = new MyQueue();

queue.push(1);
queue.push(2);  
queue.peek();  // 返回 1
queue.pop();   // 返回 1
queue.empty(); // 返回 false
說明:

你只能使用標準的棧操作 -- 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。
你所使用的語言也許不支持棧。你可以使用 list 或者 deque(雙端隊列)來模擬一個棧,只要是標準的棧操作即可。
假設所有操作都是有效的 (例如,一個空的隊列不會調用 pop 或者 peek 操作)。

  • 自己嘗試解題 ok

public class MyQueue {
    Stack<Integer> s1 = new Stack<>();
    Stack<Integer> s2 = new Stack<>();

    /**
     * Initialize your data structure here.
     */
    public MyQueue() {
    }

    /**
     * Push element x to the back of queue.
     */
    public void push(int x) {
        s1.push(x);
    }

    /**
     * Removes the element from in front of queue and returns that element.
     */
    public int pop() {
        while(!s1.isEmpty()){
            s2.push(s1.pop());
        }
        int i = s2.pop();
        while(!s2.isEmpty()){
            s1.push(s2.pop());
        }
        return i;
    }

    /**
     * Get the front element.
     */
    public int peek() {
        while(!s1.isEmpty()){
            s2.push(s1.pop());
        }
        int i = s2.peek();
        while(!s2.isEmpty()){
            s1.push(s2.pop());
        }
        return i;
    }

    /**
     * Returns whether the queue is empty.
     */
    public boolean empty() {
        return s1.isEmpty();
    }
}

感謝各位的閱讀,以上就是“用棧實現隊列的方法”的內容了,經過本文的學習后,相信大家對用棧實現隊列的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安阳县| 万载县| 广元市| 临湘市| 清徐县| 赣州市| 新丰县| 福清市| 红桥区| 铜山县| 云梦县| 博白县| 海原县| 靖远县| 沙湾县| 柏乡县| 巴彦淖尔市| 吉安市| 贵定县| 正定县| 许昌市| 西林县| 连江县| 祁连县| 金坛市| 金沙县| 衢州市| 松潘县| 尼勒克县| 托里县| 福安市| 清镇市| 钟祥市| 富蕴县| 河东区| 定西市| 德阳市| 拉萨市| 耒阳市| 通渭县| 太原市|