class Solution { public: stack<int> data, minStack; void push(int value) { data.push(value); if(!minStack.empty()) { if(value < minStack.top()) minStack.push(value); } else minStack.push(value); } void pop() { int val = data.top(); data.pop(); if(val == minStack.top()) minStack.pop(); } int top() { return data.top(); } int min() { return minStack.top(); } };
原文:http://www.cnblogs.com/fengcq1129/p/4915083.html