1381设计一个支持增量操作的栈

1381设计一个支持增量操作的栈

下面是解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class CustomStack {
private:
vector<int>v;
int top;
public:
CustomStack(int maxSize) {
v.resize(maxSize);
top = -1;
}
void push(int x) {
if(top!=v.size()-1){
++top;
v[top] = x;
}

}
//利用vector模仿栈,这里的pop不是真的pop,原来的数据还保留,只是top变了
int pop() {
if(top==-1){
return -1;
}
--top;
return v[1+top];

}
void increment(int k, int val) {
int temp = min(k,top+1);
for(int i = 0;i<temp;i++)
{
v[i] +=val;
}
}
};
-------------本文结束,感谢您的阅读-------------