class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int carry=1;
for(int i=digits.size()-1;i>=0;i--){
int tmp=digits[i]+carry;
digits[i]=tmp%10;
carry=tmp/10;
}
if (carry != 0) digits.insert(digits.begin(), carry);
return digits;
}
};
只需判断9和非9,9的话置零,继续下一次循环;非9加一直接返回
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
for(int i=digits.size()-1;i>=0;i--){
if(digits[i]==9) digits[i]=0;
else{
digits[i]+=1;
return digits;
}
}
if (digits[0] == 0) digits.insert(digits.begin(), 1);
return digits;
}
};