如何使用兩個棧實作隊列Java
釋出時間:2020-09-09 23:29:12
來源:腳本之家
閱讀:100
作者:ERFishing
這篇文章主要介紹了如何使用兩個棧實作隊列Java,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
題目
用兩個棧來實作一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。
題解
描述
棧的特性是先進後出,隊列的特點是先進先出,當數字依次入棧1後,依次出棧1并且壓入棧2後,然後再出棧的順序與進入棧1的順序是一緻的。
是以,進入隊列通過壓入棧1實作,彈出隊列通過彈出棧2的棧頂元素實作,在彈出元素時需要保證目前棧彈出元素的順序和隊列彈出元素的順序一緻,即棧1的元素應當全部壓入到棧2中。
code
import java.util.Stack;
public class Solution {
Stack stack1 = new Stack();
Stack stack2 = new Stack();
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();
}
}
以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援億速雲。