LeetCode 66 Plus One

139 阅读1分钟

LeetCode 66 Plus One

思路

这里仅仅是加一,所以,产生进位的情况只有与9相加的时候。这里直接申请一个全新的vector速度更快。如果使用digits.insert(digits.begin(), 1),由于要调整内存,速度会很慢。

代码

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        for (int i = digits.size() - 1; i >= 0; --i) {
            if (digits[i] < 9) {
                ++digits[i];
                return digits;
            }
            else digits[i] = 0;
        }
        
        vector<int> rs(digits.size() + 1, 0);
        rs[0] = 1;
        return rs;
    }
};