题目
给一个数组,遇到元素0则复制,最终得到的数组长度不变。
https://leetcode.com/problems/duplicate-zeros/
思路
遍历数组,遇到0就在其后插入,然后在插入的0元素后面继续遍历,直至结束,调整新数组的大小,保持与原数组一致。
代码
class Solution {
public:
void duplicateZeros(vector<int>& arr) {
int n = arr.size();
for(int i=0; i<n; i++){
//cout << arr[i] << " == " << endl;
if(arr[i]==0){
//cout<<i<<endl;
arr.insert(arr.begin()+i+1, 0);
i++;
}
}
arr.resize(n);
}
};