思路:这道题说实话有点坑啊,我是用的vector实现,想到了用一个min记录没push一个元素后栈内的最小值,但太懒了就没改;然后看题解发现,它竟然直接用的栈!!!
class MinStack
{
public:
/** initialize your data structure here. */
vector<int> vec;
MinStack()
{
}
void push(int x)
{
vec.push_back(x);
}
void pop()
{
vec.pop_back();
}
int top()
{
return vec[vec.size() - 1];
}
int getMin()
{
int min = vec[0];
int len = vec.size();
for (int i = 0; i < len; i++)
{
if (vec[i] < min)
min = vec[i];
}
return min;
}
};