描述
对一个vector数组加1.
解决
模拟
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int lenth = digits.size();
vector<int> tmp(lenth + 1, 0);
digits[lenth - 1] += 1;
for (int i = lenth - 1; i >= 0; --i){
//cout << digits[i] << endl;
if (digits[i] >= 10){
tmp[i + 1] = digits[i] - 10;
tmp[i] += 1;
}else{
tmp[i + 1] += digits[i];
if (tmp[i + 1] >= 10){
tmp[i + 1] -= 10;
tmp[i] += 1;
}
}
}
vector<int>::iterator it = tmp.begin();
++it;
return tmp[0] == 0 ? vector<int>(it,tmp.end()) : tmp;
}
};
本文介绍了一种针对vector数组的加1操作算法实现。通过模拟加法过程,逐位处理数组元素,并处理进位情况,实现了数组整体加1的功能。文章提供了完整的C++代码示例。
580

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



