File tree 2 files changed +38
-8
lines changed
project/LeetCode/leetcode/src/main/java/com/blankj/easy/_066
2 files changed +38
-8
lines changed Original file line number Diff line number Diff line change @@ -13,10 +13,28 @@ The digits are stored such that the most significant digit is at the head of the
13
13
14
14
## 思路
15
15
16
- 题意是
16
+ 题意是给你一个数字数组,高位在前,并且首位不为0除非这个数组就是 ` [0] ` ,让你给该数组低位加一求其结果,那么我们就模拟小学数学那样进位去算即可,如果一直进位到首位,这种情况也就是都是由9组成的数组,此时我们只要new出一个多一个长度的数组即可,并把第0个元素赋1即可。
17
17
18
18
``` 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
+ }
20
38
```
21
39
22
40
Original file line number Diff line number Diff line change 13
13
14
14
public class Solution {
15
15
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
+ }
17
30
return digits ;
18
31
}
19
32
20
33
public static void main (String [] args ) {
21
34
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
+ }
27
39
}
28
40
}
You can’t perform that action at this time.
0 commit comments