const MinStack = function() {
this.stack = []
this.min_stack = []
};
MinStack.prototype.push = function(val) {
this.stack.push(val)
if (this.min_stack.length === 0) {
this.min_stack.push(val)
} else {
if (val <= this.min_stack[this.min_stack.length - 1]) {
this.min_stack.push(val)
}
}
};
MinStack.prototype.pop = function() {
if (this.stack.length > 0) {
if (this.min_stack[this.min_stack.length - 1] === this.stack[this.stack.length - 1]) {
this.min_stack.splice(-1,1)
}
this.stack.splice(-1,1)
}
};
MinStack.prototype.top = function() {
if (this.stack.length > 0) {
return this.stack[this.stack.length - 1]
}
return 0
};
MinStack.prototype.getMin = function() {
return this.min_stack.length === 0 ? [] : this.min_stack[this.min_stack.length - 1]
};
let minStack = new MinStack()
minStack.push(2)
minStack.push(0)
minStack.push(-1)
minStack.push(4)
minStack.push(5)
minStack.push(-2)
minStack.push(3)
minStack.push(2)
minStack.push(1)
minStack.push(-5)
minStack.push(9)
minStack.push(8)
console.log(minStack.stack)
console.log(minStack.top())
console.log(minStack.getMin())
minStack.pop()
minStack.pop()
console.log(minStack.stack)
console.log(minStack.getMin())
minStack.pop()
console.log(minStack.getMin())