155. 最小栈
1 class MinStack 2 { 3 stack<int> data; 4 stack<int> min_data; 5 public: 6 /** initialize your data structure here. */ 7 MinStack() {} 8 9 void push(int x) 10 { 11 data.push(x); 12 if(min_data.empty()) min_data.push(x); 13 else 14 { 15 if(x > min_data.top()) min_data.push(min_data.top()); 16 else min_data.push(x); 17 } 18 } 19 20 void pop() 21 { 22 data.pop(); 23 min_data.pop(); 24 } 25 26 int top() 27 { 28 return data.top(); 29 } 30 31 int getMin() 32 { 33 return min_data.top(); 34 } 35 }; 36 37 /** 38 * Your MinStack object will be instantiated and called as such: 39 * MinStack* obj = new MinStack(); 40 * obj->push(x); 41 * obj->pop(); 42 * int param_3 = obj->top(); 43 * int param_4 = obj->getMin(); 44 */
Mamba never out

浙公网安备 33010602011771号