代码:
class MinStack { int min=Integer.MAX_VALUE; /** initialize your data structure here. */ List<Integer> list=new ArrayList<>(); List<Integer> list2=new ArrayList<>(); public MinStack(){ } public void push(int x) { list.add(x); if(list2.isEmpty()||x<list2.get(list2.size()-1)) list2.add(x); else list2.add(list2.get(list2.size()-1)); } public void pop() { list.remove(list.size()-1); list2.remove(list2.size()-1); } public int top() { return list.get(list.size()-1); } public int getMin() { return list2.get(list2.size()-1); } }
原文:https://www.cnblogs.com/pc-m/p/11229295.html