题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
class Solution {
public:
stack<int>dataStack, minStack;//数据栈和辅助栈
void push(int val)
{
dataStack.push(val);
if (minStack.size()==0||val <= minStack.top())
minStack.push(val);
else
minStack.push(minStack.top());
}
void pop()
{
dataStack.pop();
minStack.pop();
}
int top()
{
return dataStack.top();
}
int min()
{
return minStack.top();
}
};