-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathPlusOne.kt
61 lines (48 loc) · 1.26 KB
/
PlusOne.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.daily.algothrim.leetcode.top150
/**
* 66. 加一
*/
/*
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:
输入:digits = [0]
输出:[1]
提示:
1 <= digits.length <= 100
0 <= digits[i] <= 9
*/
class PlusOne {
companion object {
@JvmStatic
fun main(args: Array<String>) {
PlusOne().plusOne(intArrayOf(1, 2, 3)).forEach {
println(it)
}
}
}
fun plusOne(digits: IntArray): IntArray {
val size = digits.size
for (i in size - 1 downTo 0) {
if (digits[i] != 9) {
digits[i]++
for (j in i + 1 until size) {
digits[j] = 0
}
return digits
}
}
val result = IntArray(size + 1)
result[0] = 1
return result
}
}