根据题解的思路实现 #include <climits> #include <stack> class Solution { public: void push(int value) { if(stack.empty()){ stack1.push(value); } else{ if(value<stack1.top()) stack1.push(value); else stack1.push(stack1.top()); } stack.push(value); } void pop() { std::cout<<stack.top()<<" "; stack.pop(); stack1.pop(); } int top() { return stack.top(); } int min() { return stack1.top(); } private: std::stack<int> stack; std::stack<int> stack1; };