包含Min函数的栈

时间 2018/10/14
环境:牛客的编译环境
语言:JavaScript
☕️难点:这道题的难点在于不能直接用一个空数组等于栈,需要循环将栈中的元素放入空数组中,即这里考察的是深浅复制的区别。
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
思路:我利用API写的..
我的代码:

var arr = [],
    max = [];
function push(node)
{
    // write code here
    arr.push(node);
    max.push(node);
}
function pop()
{
    var result = arr.pop();
    max = [];
    for(let i = 0; i < arr.length; i++){
        max.push(arr[i]);
    }
    return result;
    // write code here
}
function top()
{
    return arr[arr.length - 1];
    // write code here
}
function min()
{
    // write code here
    max = max.sort();
    return max[0];
}

你可能感兴趣的:(包含Min函数的栈)