Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
1 class Solution {
2 public:
3 vector<int> plusOne(vector<int>& digits) {
4 int carry = 1;
5
6 for(int i = digits.size()-1; i >= 0; i--){
7 int sum = digits[i] + carry;
8 carry = sum/10;
9 digits[i] = sum % 10;
10 if(carry == 0){
11 break;
12 }
13 }
14
15 if(carry == 1){
16 digits.insert(digits.begin(), 1);
17 }
18
19 return digits;
20 }
21 };