Plus One

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.

You may assume the integer do not contain any leading zero, except the number 0 itself.

The digits are stored such that the most significant digit is at the head of the list.

Solution:

Note: Be aware if the input integer contains any leading zeros.

vector<int> plusOne(vector<int>& digits) {
    int carry = 1;
    for (int i=digits.size()-1; i>=0; i--) {
        int sum = carry + digits[i];
        digits[i] = sum % 10;
        carry = sum/10;
    }

    if (carry) {
        digits.insert(digits.begin(), 1);
    }

    return digits;

results matching ""

    No results matching ""