题目给出一个数组,数组中的每一个数代表其十进制的每一位数,要求用数组返回该十进制数加一的数字,代码如下:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int size = digits.size();
for(int i = digits.size()-1; i >= 0; i--)
{
++ digits[i];
if(digits[i] != 10) return digits;
else digits[i] = 0;
}
digits.insert(digits.begin(),1);
return digits;
}
};
这里digits.insert(digits.begin(),1)用于当前面所有数都进位时,在数组第一位增加1。