数组操作

加1

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

vector<int> plusOne(vector<int> &digits)
{
    int pos = digits.size() - 1;
    while (pos >= 0)
    {
        if (digits[pos] == 9)
        {
            digits[pos] = 0;
            --pos;
        }
        else
        {
            ++digits[pos];
            break;
        }
    }
    if (pos < 0)
    {
        vector<int> a(digits.size() + 1, 0);
        a[0] = 1;
        return a;
    };
    return digits;
}