Description:
题目大意:实现可以输出最小值的栈。
解题思路:
算法标签:栈
- 创建两个栈,一个存储数值,一个存储最小值
- 出栈的时候,minn 改为 top即可
代码:
class Solution {
public:
int minn;
stack<int>number;
stack<int>minnumber;
void push(int value) {
if(number.empty())
minn = value;
number.push(value);
if(minn <= value)
minnumber.push(minn);
else {
minnumber.push(value);
minn = value;
}
}
void pop() {
number.pop();
minnumber.pop();
minn = minnumber.top();
}
int top() {
return number.top();
}
int min() {
return minnumber.top();
}
};