[leetcode_66]Plus One

大数据加减法
一次AC附上代码,可能不是最优。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution {
public:
    vector<int> plusOne(vector<int> &digits) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        vector<int> ans(digits.size()+1);
        for(int i = 0;i < ans.size();i++)
        {
            ans[i] = 0;
        }
        int in = 1;
        for(int i = digits.size() - 1;i >= 0;i--)
        {
            int now = digits[i] + in;
            ans[i+1] = now % 10;
            in = now / 10;
        }
        ans[0] = in;
        if(ans[0] != 0)
            return ans;
        else
        {
            vector<int> result(digits.size());
            for(int i = 0;i < digits.size();i++)
            {
                result[i] = ans[i+1];
            }
            return result;
        }
    }
};
Licensed under CC BY-NC-SA 4.0