class MinStack {
public:
MinStack() {
// do intialization if necessary
}
/*
* @param number: An integer
* @return: nothing
*/
void push(int number) {
// write your code here
m_iAarray.push_back(number);
if (minVal.empty()||number<minVal.back())
{
minVal.push_back(number);
}
else
{
minVal.push_back(minVal.back());
}
}
/*
* @return: An integer
*/
int pop() {
// write your code here
int temp;
if (!m_iAarray.empty())
{
temp=m_iAarray.back();
m_iAarray.pop_back();
}
if (!minVal.empty())
{
minVal.pop_back();
}
return temp;
}
/*
* @return: An integer
*/
int min() {
// write your code here
return minVal.back();
}
vector<int> m_iAarray;
vector<int> minVal;
};