题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
#include<stack>
class Solution {private:
stack<int> s1;
stack<int> s2;
public:
void push(int value) {
s1.push(value);
if(s2.empty())
{
s2.push(value);
}
if(!s2.empty())
{
if(value<s2.top())
{
s2.push(value);
}
else
{
int tmp=s2.top();
s2.push(tmp);
}
}
}
void pop() {
s1.pop();
s2.pop();
}
int top() {
int t=s1.top();
return t;
}
int min() {
int t=s2.top();
return t;
}
};