Skip to content

Commit 5dc451f

Browse files
committed
feat: add 066
1 parent ea89b2d commit 5dc451f

File tree

2 files changed

+38
-8
lines changed

2 files changed

+38
-8
lines changed

note/066/README.md

+20-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,28 @@ The digits are stored such that the most significant digit is at the head of the
1313

1414
## 思路
1515

16-
题意是
16+
题意是给你一个数字数组,高位在前,并且首位不为0除非这个数组就是`[0]`,让你给该数组低位加一求其结果,那么我们就模拟小学数学那样进位去算即可,如果一直进位到首位,这种情况也就是都是由9组成的数组,此时我们只要new出一个多一个长度的数组即可,并把第0个元素赋1即可。
1717

1818
``` java
19-
19+
public class Solution {
20+
public int[] plusOne(int[] digits) {
21+
int p = digits.length - 1;
22+
if (digits[p] < 9) {
23+
digits[p] = ++digits[p];
24+
} else {
25+
do {
26+
digits[p--] = 0;
27+
} while (p >= 0 && digits[p] == 9);
28+
if (digits[0] != 0) {
29+
++digits[p];
30+
} else {
31+
digits = new int[digits.length + 1];
32+
digits[0] = 1;
33+
}
34+
}
35+
return digits;
36+
}
37+
}
2038
```
2139

2240

project/LeetCode/leetcode/src/main/java/com/blankj/easy/_066/Solution.java

+18-6
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,28 @@
1313

1414
public class Solution {
1515
public int[] plusOne(int[] digits) {
16-
16+
int p = digits.length - 1;
17+
if (digits[p] < 9) {
18+
digits[p] = ++digits[p];
19+
} else {
20+
do {
21+
digits[p--] = 0;
22+
} while (p >= 0 && digits[p] == 9);
23+
if (digits[0] != 0) {
24+
++digits[p];
25+
} else {
26+
digits = new int[digits.length + 1];
27+
digits[0] = 1;
28+
}
29+
}
1730
return digits;
1831
}
1932

2033
public static void main(String[] args) {
2134
Solution solution = new Solution();
22-
File file = new File("/dev/d/");
23-
System.out.println(file.getAbsolutePath());
24-
System.out.println("hello".substring(0, 2));
25-
int[] digits = new int[]{9, 9, 9};
26-
System.out.println(solution.plusOne(digits));
35+
int[] digits = solution.plusOne(new int[]{9, 9, 9});
36+
for (int i = 0; i < digits.length; i++) {
37+
System.out.print(digits[i]);
38+
}
2739
}
2840
}

0 commit comments

Comments
 (0)