一开始没理解题意,是一个数用数组来表示的意思,然后对其进行+1操作
很老的思路,设一个标志位,依次判断,如果<9就自增,如果不的话就设为0
最后如果需要9999->10000的时候,需要insert一个1 在开头处(vector果然比数组好用啊!)
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int len=digits.size();
int tmp=1;
for(int i=len-1;i>=0;i--){
if(digits[i]<9&&tmp==1){
digits[i]++;
tmp=0;
}
else if(digits[i]+tmp==10){ //某一位等于9并且tmp==1的时候
digits[i]=0;
tmp=1;
}
}
if(tmp==1) digits.insert(digits.begin(), 1);
return digits;
}
};