LeetCode/solutions/66. Plus One.md
2019-09-13 23:08:41 +08:00

770 B
Raw Blame History

66. Plus One

思路

首先明确英语中digit代表0-9的一个数字。这题意思就是用一个数组代表一个数然后计算这个数加1后的结果。
从后往前遍历用一个c记录每一个digit所加的数初试为1以后每个c为前一次加法的进位。
注意如果最后有进位的话会使数组size加1

C++

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int i = digits.size()-1;
        int c = 1;
        while(i >= 0){
            digits[i] += c;
            c = digits[i] / 10;
            digits[i] %= 10;
            i--;
        }
        if(c > 0) digits.insert(digits.begin(), c);
        return digits;
    }
};