File tree 3 files changed +70
-1
lines changed 3 files changed +70
-1
lines changed Original file line number Diff line number Diff line change 41
41
| [ 038] [ 038-question ] | [ Count and Say] [ 038-tips ] | [ ✅] [ 038-java ] | | [ ✅] [ 038-kotlin ] |
42
42
| [ 053] [ 053-question ] | [ Maximum Subarray] [ 053-tips ] | [ ✅] [ 053-java ] | | [ ✅] [ 053-kotlin ] |
43
43
| [ 058] [ 058-question ] | [ Length of Last Word] [ 058-tips ] | [ ✅] [ 058-java ] | | [ ✅] [ 058-kotlin ] |
44
- | [ 066] [ 066-question ] | [ Plus One] [ 066-tips ] | [ ✅] [ 066-java ] | | |
44
+ | [ 066] [ 066-question ] | [ Plus One] [ 066-tips ] | [ ✅] [ 066-java ] | | [ ✅ ] [ 066-kotlin ] |
45
45
| [ 067] [ 067-question ] | [ Add Binary] [ 067-tips ] | [ ✅] [ 067-java ] | | |
46
46
| [ 069] [ 069-question ] | [ Sqrt(x)] [ 069-tips ] | [ ✅] [ 069-java ] | | |
47
47
| [ 070] [ 070-question ] | [ Climbing Stairs] [ 070-tips ] | [ ✅] [ 070-java ] | | |
481
481
[ 038-kotlin ] : ./src/_038/kotlin/Solution.kt
482
482
[ 053-kotlin ] : ./src/_053/kotlin/Solution.kt
483
483
[ 058-kotlin ] : ./src/_058/kotlin/Solution.kt
484
+ [ 066-kotlin ] : ./src/_066/kotlin/Solution.kt
484
485
[ 771-kotlin ] : ./src/_771/kotlin/Solution.kt
Original file line number Diff line number Diff line change
1
+ package _066.kotlin
2
+
3
+ import java.util.*
4
+
5
+ /* *
6
+ * @author relish
7
+ * @since 2018/04/19
8
+ */
9
+ class Solution {
10
+ fun plusOne (digits : IntArray ): IntArray {
11
+ var flag = 1
12
+ val len = digits.size
13
+ for (i in len - 1 downTo 0 ) {
14
+ digits[i] + = flag
15
+ if (digits[i] >= 10 ) {
16
+ digits[i] % = 10
17
+ flag = 1
18
+ continue
19
+ }
20
+ flag = 0
21
+ break
22
+ }
23
+ if (flag == 1 ) {
24
+ return IntArray (len+ 1 ,fun (index : Int ):Int {
25
+ if (index== 0 )return 1
26
+ return digits[index- 1 ]
27
+ })
28
+ }
29
+ return digits
30
+ }
31
+ }
32
+
33
+ fun main (args : Array <String >) {
34
+ println (Arrays .toString(Solution ().plusOne(intArrayOf(9 , 9 , 9 , 9 ))))
35
+ }
36
+ // val ret = IntArray(len + 1)
37
+ // ret[0] = 1
38
+ // for (i in digits.indices) {
39
+ // ret[i + 1] = digits[i]
40
+ // }
41
+ // return ret
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ The digits are stored such that the most significant digit is at the head of the
15
15
16
16
题意是给你一个数字数组,高位在前,并且首位不为 0 除非这个数组就是 ` [0] ` ,让你给该数组低位加一求其结果,那么我们就模拟小学数学那样进位去算即可,如果一直进位到首位,这种情况也就是都是由 9 组成的数组,此时我们只要 new 出一个多一个长度的数组即可,并把第 0 个元素赋 1 即可。
17
17
18
+ Java:
18
19
``` java
19
20
class Solution {
20
21
public int [] plusOne (int [] digits ) {
@@ -37,6 +38,32 @@ class Solution {
37
38
}
38
39
```
39
40
41
+ kotlin(208ms/100.00%)
42
+ ``` kotlin
43
+ class Solution {
44
+ fun plusOne (digits : IntArray ): IntArray {
45
+ var flag = 1
46
+ val len = digits.size
47
+ for (i in len - 1 downTo 0 ) {
48
+ digits[i] + = flag
49
+ if (digits[i] >= 10 ) {
50
+ digits[i] % = 10
51
+ flag = 1
52
+ continue
53
+ }
54
+ flag = 0
55
+ break
56
+ }
57
+ if (flag == 1 ) {
58
+ return IntArray (len+ 1 ,fun (index : Int ):Int {
59
+ if (index== 0 )return 1
60
+ return digits[index- 1 ]
61
+ })
62
+ }
63
+ return digits
64
+ }
65
+ }
66
+ ```
40
67
41
68
## 结语
42
69
You can’t perform that action at this time.
0 commit comments