方法1:逆序遍历
时间复杂度:$O(n)$
空间复杂度:$O(1)$
解题思路
倒序遍历数组,遇到9就变0,直到不是9就加1。如果全是9,数组长度加1,首项为1,其余为0。
https://leetcode.cn/problems/plus-one/solution/java-shu-xue-jie-ti-by-yhhzw/461904
Java 代码
class Solution {
public int[] plusOne(int[] digits) {
for (int i = digits.length - 1; i >= 0; i --) {
if (digits[i] == 9) {
digits[i] = 0;
} else {
digits[i] ++;
return digits;
}
}
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
}
}