Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyStack
- {
- private Stack<int> MinStack = new Stack<int>();
- private List<int> Stack = new List<int>();
- public int Count { get { return Stack.Count; } }
- public void Push(int value)
- {
- Stack.Add(value);
- if (MinStack.Count == 0 || value <= MinStack.Peek())
- MinStack.Push(value);
- }
- public int Pop()
- {
- var result = Stack[Stack.Count-1];
- Stack.RemoveAt(Stack.Count - 1);
- if (result==MinStack.Peek())
- MinStack.Pop();
- return result;
- }
- public int Min()
- {
- return MinStack.Peek();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement