Skip to content

Commit 7a46819

Browse files
committed
Time: 0 ms (100.00%) | Memory: 10.6 MB (48.46%) - LeetSync
1 parent d8abb44 commit 7a46819

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

��66-plus-one/plus-one.cpp‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
class Solution {
2+
public:
3+
vector<int> plusOne(vector<int>& digits) {
4+
int n = digits.size();
5+
6+
if (digits[n-1] != 9) {
7+
digits[n-1] += 1;
8+
return digits;
9+
}
10+
11+
int nineCounts = 0;
12+
for (int i=0; i<n; i++){
13+
if (digits[i]==9){
14+
nineCounts++;
15+
}
16+
}
17+
if (nineCounts == n) {
18+
// means all digits in array are 9
19+
digits[0] = 1;
20+
for (int i=1; i<n; i++){
21+
digits[i]=0;
22+
}
23+
digits.push_back(0);
24+
return digits;
25+
}
26+
27+
for (int i=n-1; i>=0; i--){
28+
if (digits[i]==9){
29+
digits[i]=0;
30+
} else {
31+
digits[i]++;
32+
break;
33+
}
34+
}
35+
return digits;
36+
}
37+
};

0 commit comments

Comments
 (0)