题目
重点:题目要求执行 push、pop 和 min 操作的时间复杂度必须为 O ( 1 ) O(1) O(1)。
155 题干有 提示:
解题
解题一
用指针来指示栈顶位置,不执行 push 和 pop 操作:
/**
* initialize your data structure here.
*/
var MinStack = function() {
this.minStack = [];
this.minValue = [];
this.stackSize = 0;
};
/**
* @param {number} x
* @return {void}
*/
MinStack.prototype.push = function(x) {
this.minStack[this.stackSize] = x;
if (this.stackSize === 0 || x < this.minValue[this.stackSize - 1]) {
this.minValue[this.stackSize] = x;
}
else {
this.minValue[this.stackSize] = this.minValue[this