Plus One

来源:互联网 发布:周传雄 青花 知乎 编辑:程序博客网 时间:2024/05/01 07:45

Given a number represented as an array of digits, plus one to the number.

class Solution {public:    vector<int> plusOne(vector<int> &digits) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        int carry = 0;        vector<int>::reverse_iterator rb = digits.rbegin();        int sum = 0;        for(; rb != digits.rend(); ++rb) {            if (rb == digits.rbegin()) {                sum = *rb + carry + 1;            } else {                sum = *rb + carry;            }            carry = sum / 10;            *rb = sum % 10;        }        if (carry) {            digits.insert(digits.begin(), 1);        }        return digits;    }};