class CustomStack {
public:
int top=-1;
vector<int>obj;
CustomStack(int maxSize) {
obj.resize(maxSize);
}
void push(int x) {
if(top+1!=obj.size())//这里要加上一个判断,不然会导致越界
obj[++top]=x;
}
int pop() {
if(top==-1)
{
return -1;
}
int temp=obj[top];
top--;
return temp;
}
void increment(int k, int val) {
for(int i=0;i<min(k,top+1);i++)
{
obj[i]+=val;
}
}
};
/**
* Your CustomStack object will be instantiated and called as such:
* CustomStack* obj = new CustomStack(maxSize);
* obj->push(x);
* int param_2 = obj->pop();
* obj->increment(k,val);
*/
LeetCode:1381. 设计一个支持增量操作的栈
最新推荐文章于 2022-03-15 13:45:50 发布
本文介绍了一个自定义的栈类CustomStack的实现,该类使用vector作为底层数据结构,支持push、pop和increment操作。increment方法允许对栈顶的k个元素增加val值,提供了灵活的数据操作能力。
221

被折叠的 条评论
为什么被折叠?



