class Solution {//方案一 节省空间但是费时间
stack<int> stackData,stackMin;
public:
void push(int value) {
if(stackData.empty())
{
stackData.push(value);
stackMin.push(value);
}else{
stackData.push(value);
if(value<=stackMin.top())
stackMin.push(value);
}
}
void pop() {
if(stackData.top()==stackMin.top())
stackMin.pop();
stackData.pop();
}
int top() {
return stackData.top();
}
int min() {
return stackMin.top();
}
};
class Solution {//方案二费空间,省时间
stack<int> stackData,stackMin;
public:
void push(int value) {
if(stackData.empty())
{
stackData.push(value);
stackMin.push(value);
}else{
stackData.push(value);
if(value<stackMin.top())
stackMin.push(value);
else
stackMin.push(stackMin.top());
}
}
void pop() {
stackMin.pop();
stackData.pop();
}
int top() {
return stackData.top();
}
int min() {
return stackMin.top();
}
};