您的位置:首页 > 其它

[LintCode] 带最小值操作的栈

2015-06-28 15:21 465 查看
class MinStack {
public:
MinStack() {
// do initialization if necessary
}

void push(int number) {
// write your code here
if (minimum.empty() || number <= minimum.top())
minimum.push(number);
data.push(number);
}

int pop() {
// write your code here
if (minimum.top() == data.top())
minimum.pop();
int elem = data.top();
data.pop();
return elem;
}

int min() {
// write your code here
return minimum.top();
}
private:
stack<int> data;
stack<int> minimum;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: