GenuineSounds icon

MinStack

GenuineSounds | PRO | 01/16/15 03:42:07 PM UTC | 0 ⭐ | 514 👁️ | Never ⏰ | []
Java |

660 B

|

None

|

0 👍

/

0 👎

class MinStack {
 
    private static Node max = new Node(Integer.MAX_VALUE);
    private Node stack;
 
    public MinStack() {
        stack = new Node(Integer.MAX_VALUE);
        stack.min = max;
    }
 
    public void push(int data) {
        Node node = new Node(data);
        node.next = stack;
        if (data <= stack.min.data)
            node.min = node;
        else
            node.min = stack.min;
        stack = node;
    }
 
    public void pop() {
        stack = stack.next;
    }
 
    public int top() {
        return stack.data;
    }
 
    public int getMin() {
        return stack.min.data;
    }
}
 
class Node {
 
    public int data;
    public Node min;
    public Node next;
 
    public Node(int data) {
        this.data = data;
    }
}

Comments