[LeetCode] Plus One
Given a number represented as an array of digits, plus one to the number.
进位和加法。
1 class Solution { 2 public: 3 vector<int> plusOne(vector<int> &digits) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 vector<int> ret(digits); 7 reverse(ret.begin(), ret.end()); 8 9 int flag = 1; 10 for(int i = 0; i < ret.size(); i++) 11 { 12 ret[i] += flag; 13 flag = ret[i] / 10; 14 ret[i] %= 10; 15 } 16 17 if (flag == 1) 18 ret.push_back(1); 19 20 reverse(ret.begin(), ret.end()); 21 22 return ret; 23 } 24 };