[LeetCode] 66. Plus One

题目链接:传送门

Description

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.

You may assume the integer do not contain any leading zero, except the number 0 itself.

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

Solution

题意:

实现高精度加法的加1操作

思路:

直接就倒过来做了,加1判进位

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        reverse(digits.begin(), digits.end());
        int add = 0;
        for (int i = 0; i < digits.size(); i++) {
            add = (digits[i] + 1 >= 10);
            digits[i] = (digits[i] + 1) % 10;
            if (!add)  break;
        }
        if (add)  digits.push_back(1);
        reverse(digits.begin(), digits.end());
        return digits;
    }
};
posted @ 2018-02-24 01:58  酒晓语令  阅读(88)  评论(0编辑  收藏  举报