class MinStack {
public:
MinStack() {
// do initialization if necessary
}
stack<int> s;
stack<int> minstack;
int minnum;
void push(int number) {
// write your code here
if(s.size()==0)
minnum=number;
else if(minnum>number)
minnum=number;
minstack.push(minnum);
s.push(number);
}
int pop() {
int tmp=s.top();
s.pop();
minstack.pop();
if(minstack.size()!=0)
minnum=minstack.top();
return tmp;
}
int min() {
return minnum;
// write your code here
}
};
LintCode-剑指Offer-(12)带最小值操作的栈
