66. 加一
Posted lgz0921
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了66. 加一相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/plus-one/
思路:数组最后一位加1,然后如果等于10,就进位,接着前面的那一位加一,依次循环判断,直到有一位不等于10。如果循环到最高位,最高位还是10,那么就需要特殊处理一下了,即最前面加一位,也就是说数组长度加了一,加在数组最前面(这个值只能是1)。我是用ArrayList处理的,感觉方便一点~~~~
上代码:
class Solution {
fun plusOne(digits: IntArray): IntArray {
val result = ArrayList<Int>()
var i = digits.size - 1
digits[i] += 1
while (i > 0 && digits[i] == 10) {
digits[i] = 0
digits[--i] += 1
}
if (i == 0 && digits[0] == 10) {
digits[0] = 0
result.add(1)
}
result.addAll(digits.toList())
return result.toIntArray()
}
}
以上是关于66. 加一的主要内容,如果未能解决你的问题,请参考以下文章