思路:

    1、其实这个题很有意思,乍一看很简单嘛。直接new一个栈就ok了。

    2、难就难在那个最小数上面,我这里用了一个比较蠢的办法,用一个list去存储当前数据,每次需要最小值的时候就去找出来。

    3、找到一个求ArrayList最小值的方法,但是速度比自己写for还慢   Collections.min(arr)

    

class MinStack {

    /** initialize your data structure here. */
	private Stack<Integer> stack;
	private List<Integer> arr;
	private Integer min = 0;
    public MinStack() {
    	stack = new Stack<>();
    	arr = new ArrayList<>();
    }
    
    public void push(int x) {
        stack.push(x);
        arr.add(x);
    }
    
    public void pop() {
        Integer pop = stack.pop();
        arr.remove(pop);
    }
    
    public int top() {
    	return stack.peek();
    }
    
    public int getMin() {
    	min = arr.get(0);
    	for(Integer i : arr) {
    		if(min > i)
    			min = i;
    	}
        return min;
    }
}