getMin

by Paco86

JavaScript

class MyStack{
	constructor(){
  	this.dataArray = [];
    this.minArray = [];
  }
  
  push(item){
  	this.dataArray.push(item);
    if(this.minArray.length === 0 || this.minArray[this.minArray.length-1] >= item){
    	this.minArray.push(item);
    }
  }
  
  pop(){
  	let popItem = this.dataArray.pop();
    if(popItem === this.minArray[this.minArray.length-1]){
    	this.minArray.pop()
    }
    return popItem;
  }
  
  
  getMin(){
  	return this.minArray[this.minArray.length-1];
  }
}



let myStack = new MyStack();
myStack.push(2);
myStack.push(3);
myStack.push(1);
myStack.push(6);
myStack.push(0);

console.log(myStack.getMin());