用c#语言设计一个最小栈
力扣题目详情:
解题思路:
push(x) – 将元素 x 推入栈中。
pop() – 删除栈顶的元素。
top() – 获取栈顶元素。
getMin() – 检索栈中的最小元素。
代码实现:
public class MinStack {
/** initialize your data structure here. */
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();
}
}
/**
* Your MinStack object will be instantiated and called as such:
* MinStack obj = new MinStack();
* obj.Push(x);
* obj.Pop();
* int param_3 = obj.Top();
* int param_4 = obj.GetMin();
*/