数据结构与算法作业 力扣155.最小栈
程序员文章站
2022-06-03 13:33:15
...
155.最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。
push(x) – 将元素 x 推入栈中。
pop() – 删除栈顶的元素。
top() – 获取栈顶元素。
getMin() – 检索栈中的最小元素。
示例:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> 返回 -3.
minStack.pop();
minStack.top(); --> 返回 0.
minStack.getMin(); --> 返回 -2.
来源:力扣(LeetCode)
原题链接
public class MinStack
{
Stack<int> minStack = new Stack<int>();
Stack<int> stack = new Stack<int>();
public MinStack()
{
}
public void Push(int x)
{
stack.Push();
if (minStack.Count == 0)
minStack.Push(x);
else if (minStack.Peek() >= x)
minStack.Push(x);
}
public void Pop()
{
if (stack.Count == 0)
return;
if (stack.Pop() == minStack.Peek())
minStack.Pop();
}
public int Top()
{
return stack.Peek();
}
public int GetMin()
{
return minStack.Peek();
}
}
上一篇: 数据结构与算法分析-栈
下一篇: strcpy漏洞分析