包含min函数的栈
题目描述
示例
代码
代码1 使用数组模拟栈
js
let stack = []
function push(node)
{
stack.push(node)
}
function pop()
{
return stack.pop()
}
function top()
{
return stack[stack.length - 1]
}
function min()
{
let minIndex = 0
// 假设第一个值为最小值
let minVal = stack[0]
for(let i = 1; i < stack.length; i++){
if(stack[i] < minVal){ // 如果发现还有比它小的值。更新索引
minIndex = i
minVal = stack[i]
}
}
return stack[minIndex]
}
时间复杂度O(1)
空间复杂度O(1)