class GetMinStacke
{
public:
void push(int x)
{
elements.push(x);
if (minStack.empty() || x <= minStack.top())
{
minStack.push(x);
}
}
bool pop()
{
if (elements.empty())
{
return false;
}
if (elements.top() == minStack.top())
{
minStack.pop();
}
elements.pop();
return true;
}
bool getMin(int &min)
{
if (minStack.empty())
{
return false;
}
min = minStack.top();
return true;
}
private:
stack<int> elements;
stack<int> minStack;
};
在常数时间内完成push,pop,getMin的栈
最新推荐文章于 2022-04-21 15:06:01 发布