class MinStack { Node stack; int size; public void push(int data) { Node node = new Node(data); node.next = stack; stack = node; size++; } public void pop() { stack = stack.next; size--; } public int top() { return stack.data; } public int getMin() { Node node = stack; int min = node.data; while (node.next != null) { node = node.next; if (node.data < min) min = node.data; } return min; } class Node { int data; Node next; public Node(int data) { this.data = data; } } }