您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用兩個棧實現隊列Java,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
題目
用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。
題解
描述
棧的特性是先進后出,隊列的特點是先進先出,當數字依次入棧1后,依次出棧1并且壓入棧2后,然后再出棧的順序與進入棧1的順序是一致的。
因此,進入隊列通過壓入棧1實現,彈出隊列通過彈出棧2的棧頂元素實現,在彈出元素時需要保證當前棧彈出元素的順序和隊列彈出元素的順序一致,即棧1的元素應當全部壓入到棧2中。
code
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棧 stack1.push(node); } public int pop() { //若stack2為空 if(stack2.isEmpty()){ while(!stack1.isEmpty()){ stack2.push(stack1.pop()); } } return stack2.pop(); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。