定义一种栈或队列,提供push、pop、getMin三种操作,要求平均复杂度O(1)。 最小栈 计算的是栈顶元素的最整个栈中的最小值,所以我们使用两个栈,一个存储原始数据,一个存储元素对应的最小值。在每次入栈时辅助栈将元素和站定元素比较,如果小于站定元素就入栈,否则压入栈顶元素。 class MinStack { public: void push(int x) { if