Create 66. Plus One.md

This commit is contained in:
唐树森 2018-09-01 21:30:37 +08:00 committed by GitHub
parent 38de2caff8
commit 2e1db50ece
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

23
66. Plus One.md Normal file
View File

@ -0,0 +1,23 @@
# [66. Plus One](https://leetcode.com/problems/plus-one/description/)
# 思路
首先明确英语中digit代表0-9的一个数字。这题意思就是用一个数组代表一个数然后计算这个数加1后的结果。
从后往前遍历用一个c记录每一个digit所加的数初试为1以后每个c为前一次加法的进位。
注意如果最后有进位的话会使数组size加1
# C++
```
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int i = digits.size()-1;
int c = 1;
while(i >= 0){
digits[i] += c;
c = digits[i] / 10;
digits[i] %= 10;
i--;
}
if(c > 0) digits.insert(digits.begin(), c);
return digits;
}
};
```