Given a number represented as an array of digits, plus one to the number.
class Solution { public: vector<int> plusOne(vector<int> &digits) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<int> ans; int c = 0, k = 0; for(int i = digits.size() -1; i >= 0; i--){ if (i == digits.size()-1){ if (digits[i] + 1 >= 10){ ans.push_back(digits[i] + 1 - 10); c = 1; }else{ ans.push_back(digits[i] + 1); c = 0; } }else if (digits[i] + c >= 10){ ans.push_back(digits[i] + c - 10); c = 1; }else{ ans.push_back(digits[i] +c); c = 0; } } if (c){ ans.push_back(c); } reverse(ans.begin(), ans.end()); return ans; } };