Description:
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- getMin() -- Retrieve the minimum element in the stack.
带有minimum element属性的stack操作。
class MinStack { public Node node = null; public void push(int x) { if(node == null) { node = new Node(x); node.min = x; } else { Node tNode = new Node(x); tNode.next = node; node = tNode; node.min = node.next.min < x ? node.next.min : x; } } public void pop() { node = node.next; } public int top() { return node.val; } public int getMin() { return node.min; }}class Node { int val; int min; Node next; public Node(int val) { this.val = val; } }
好久没1A了。