Leetcode 66. plus one

来源:互联网 发布:淘宝花呗开通条件 编辑:程序博客网 时间:2024/09/21 09:29

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

class Solution {public:    vector<int> plusOne(vector<int>& digits) {        size_t n = digits.size();        int carry = 1;        for (int i = n - 1; i !=  -1; --i) {            int sum = digits[i] + carry;            digits[i] = sum %10;            carry = sum / 10;            if (carry == 0) break;        }        if (carry == 1)             digits.insert(digits.begin(), 1);        return digits;    }};

参考后

class Solution {public:    vector<int> plusOne(vector<int>& digits) {        size_t n = digits.size();        for (int i = n - 1; i >=  0; --i) {            if (digits[i] == 9) {                digits[i] = 0;            } else {                ++digits[i];                return digits;            }        }        // 最高位为9, 99 999 ...        digits[0] = 1;        digits.push_back(0);        return digits;    }};
原创粉丝点击