劍指offer-js 包含min函數的棧

包含min函數的棧

題目描述:

定義棧的數據結構,請在該類型中實現一個能夠得到棧中所含最小元素的min函數(時間複雜度應爲O(1))。
注意:保證測試中不會當棧爲空的時候,對棧調用pop()或者min()或者top()方法。

問題分析:

js裏面的棧,大多數時候都和數組脫不了關係,在python裏,棧也可以由列表來實現
用一個新的數組,完成添加,刪除,自然不是什麼難事,主要是要想到用數組來解決

代碼展示:

var stack = [];//數組
function push(node)
{
    stack.push(node);//添加
}
function pop()
{
    stack.pop();//彈出
}
function top()
{
    // write code here
    return stack.pop();//返回彈出
}
function min()
{
    // 找出數組最小的進行輸出
    var minNum = stack[0];
    for(let i=0;i<stack.length;i++){
        if(stack[i]<minNum){
            minNum = stack[i];
        }
    }
    return minNum;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章