包含min函数的栈

include<assert.h>

class Solution {
public:
void push(int value) {
data.push(value);
if(!minData.size())
minData.push(value);
else
{
if(value > minData.top())
minData.push(minData.top());
else{
minData.push(value);
}
}
}
void pop() {
assert(data.size() > 0);
data.pop();
minData.pop();
}
int top() {
assert(data.size() >0);
return data.top();
}
int min() {
return minData.top();
}
private:
stack<int> data; //栈数据
stack<int> minData; //最小每个下标的最小元素数据
};</int></int>

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务