题目:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。
push(x) – 将元素 x 推入栈中。
pop() – 删除栈顶的元素。
top() – 获取栈顶元素。
getMin() – 检索栈中的最小元素。
解题算法:
public class MinStack {
private Stack<int> _stack;
public MinStack()
{
_stack= new Stack<int>();
}
public void Push(int x)
{
_stack.Push(x);
}
public void Pop()
{
_stack.Pop();
}
public int Top()
{
return _stack.FirstOrDefault();
}
public int GetMin()
{
return _stack.Min();
}
}
结果: