/** * Your MinStack object will be instantiated and called as such: * MinStack* obj = new MinStack(); * obj->push(val); * obj->pop(); * int param_3 = obj->top(); * int param_4 = obj->getMin(); */
inttop() { long offset = st.top(); if (offset <= 0) // 说明当前栈顶刚好就是最小值 return (int)min_val; else return (int)(min_val + offset); }
intgetMin() { return (int)min_val; } };
/** * Your MinStack object will be instantiated and called as such: * MinStack* obj = new MinStack(); * obj->push(val); * obj->pop(); * int param_3 = obj->top(); * int param_4 = obj->getMin(); */
leetcode hot 100 rewrite, 虽然花了点时间还是自己写出来了,总结两个易错的点: