【劍指offer】6.用兩個棧實現隊列

題目

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

基本思路

棧1:

用於入隊列存儲

棧2:

出隊列時將棧1的數據依次出棧,併入棧到棧2中

棧2出棧即棧1的底部數據即隊列要出的數據。

注意:

棧2爲空才能補充棧1的數據,否則會打亂當前的順序。

image

代碼

const stack1 = [];
const stack2 = [];

function push(node)
{
    stack1.push(node);
}
function pop()
{
    if(stack2.length === 0){
       while(stack1.length>0){
        stack2.push(stack1.pop());
       }
    }
    return stack2.pop() || null;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章