最小栈
Deque<Integer> stack1; Deque<Integer> stack2; public void pop() { //这里如果用==比较是比较两个Integer对象的地址,Integer能缓存(-128,127)这个范围的值,用==比较这个范围的值会返回true,超过这个范围用==比较就是不同的对象返回false,所以要equals进行比较,equals直接比较数值不比较地址 if (stack1.peek() == stack2.peek()) { stack1.pop(); stack2.pop(); } else { stack1.pop(); } } public boolean equals(Object obj) { if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false; }
比特位计数