Plus One

题目链接https://leetcode.com/problems/plus-one/

这是digit这类题里最简单的一道了,这类题基本都不难,但是需要把几个boundary case考虑到,这道题里需要考虑的是进位之后首位的情况。其他case以后遇到再提。

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int carry = 1;
        vector<int> result;
        for(int i = digits.size() - 1; i >= 0; i--) {
            int cur = digits[i] + carry;
            result.push_back(cur % 10);
            carry = cur / 10;
        }
        if(carry > 0)
            result.push_back(carry);
        reverse(result.begin(), result.end());
        return result;
    }
};
原文地址:https://www.cnblogs.com/walcottking/p/4430829.html