problem
code
class Solution { public: vector<int> plusOne(vector<int>& digits) { vector<int> res; int carry = 1; int sum = 0; int mod = 0; int i = digits.size()-1; while(carry && i>=0) { sum = digits[i] + carry; carry = sum / 10; mod = sum % 10; res.push_back(mod); i--; } if(carry && i<0) res.push_back(carry); for( ; i>=0; i--) { res.push_back(digits[i]); } reverse(res.begin(), res.end()); return res; } };
注意可能有进位,而且可能有多个进位,另外注意最高位有进位的情况。
参考
1.leetcode;
完