Leetcode给的solution,在pop的时候,只要栈顶元素=minStack栈顶元素,就把
minStack的栈顶元素pop掉。如果有duplicates的话,比如stack里面5, 3, 3,
minStack里面是5, 3,在pop第一个3的时候,不应该把minStack里面的3 pop掉吧。否
则Stack里面变成了5, 3, minStack里面是5, 答案是不是有问题?
---- Leetcode solution
public void pop() {
if (stack.pop().equals(minStack.peek())) minStack.pop();
}
-----my solution
void pop() {
if(stk.empty()) return;
int tmp=stk.top();
stk.pop();
if(stk.empty() || (tmp == min_stk.top() && stk.top() > min_stk.top()
))
{
min_stk.pop();
}
}