1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
class Solution { public: vector<int> plusOne(vector<int>& digits) { int k=digits.size()-1; digits[k]+=1; int m=0; while(digits[k]>9) //每次加一后看它会不会进位,如果进位就继续循环 { digits[k]=0; k--; if(k==-1) //当递减到最后一位的时候跳出循环,给予一个标记 { m=1; break; } digits[k]++; } if(m==1) //考虑类似[9,9,9,9,9,9]的这种情况,要多加一位数 { digits[0]=1; for(int i=1;i<digits.size();i++) { digits[i]=0; } digits.push_back(0); } return digits; } };
|
近期评论