mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
Create 66. Plus One.md
This commit is contained in:
parent
38de2caff8
commit
2e1db50ece
23
66. Plus One.md
Normal file
23
66. Plus One.md
Normal 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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user