Skip to content

Commit 3934f0d

Browse files
author
tanfanhua
committed
add
1 parent 8b87119 commit 3934f0d

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

src/com/blankj/easy/_0066/Solution.java

+55
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.blankj.easy._066;
22

3+
import java.util.ArrayList;
34
import java.util.Arrays;
5+
import java.util.List;
6+
import java.util.stream.Collectors;
47

58
/**
69
* <pre>
@@ -33,5 +36,57 @@ public static void main(String[] args) {
3336
Solution solution = new Solution();
3437
int[] digits = solution.plusOne(new int[]{9, 9, 9});
3538
System.out.println(Arrays.toString(digits));
39+
digits = solution.myPlusOne(new int[]{9, 9, 9});
40+
System.out.println(Arrays.toString(digits));
41+
digits = solution.myPlusOne2(new int[]{9, 9, 9});
42+
System.out.println(Arrays.toString(digits));
43+
digits = solution.myPlusOne2(new int[]{8, 9, 9});
44+
System.out.println(Arrays.toString(digits));
45+
digits = solution.myPlusOne2(new int[]{8, 9, 8});
46+
System.out.println(Arrays.toString(digits));
47+
48+
}
49+
50+
public int[] myPlusOne(int[] digits) {
51+
if (digits == null || digits.length == 0) {
52+
return null;
53+
}
54+
int[] res = new int[digits.length];
55+
int carry = 1;
56+
for (int i = digits.length - 1; i >= 0; i--) {
57+
res[i] = (digits[i] + carry) % 10;
58+
carry = (digits[i] + carry) / 10;
59+
}
60+
if (carry > 0) {
61+
int[] tmp = new int[digits.length + 1];
62+
tmp[0] = carry;
63+
for (int i = 0; i < res.length; i++) {
64+
tmp[i + 1] = res[i];
65+
}
66+
res = tmp;
67+
}
68+
69+
return res;
70+
}
71+
72+
public int[] myPlusOne2(int[] digits) {
73+
if (digits == null || digits.length == 0) {
74+
return null;
75+
}
76+
int i = digits.length - 1;
77+
for (; i >= 0; i--) {
78+
if (digits[i] == 9) {
79+
digits[i] = 0;
80+
} else {
81+
break;
82+
}
83+
}
84+
if (i < 0) {
85+
digits = new int[digits.length + 1];
86+
digits[0] = 1;
87+
} else {
88+
digits[i] ++;
89+
}
90+
return digits;
3691
}
3792
}

0 commit comments

Comments
 (0)