P194 数组加一
算法 17 阅读
信号摘要
难度:Easy · 时长:04:05 · leetcode 66 · lintcode 407
未对外公开播放权限
点击查看说明
描述
这个题目说的是,给你一个不为空的数组,它表示一个非负整数。数组中的每个数字都位于 0~9 之间,代表整个非负整数上的一位。你要将这个由数组表示的非负整数加 1,然后返回。
比如说,给你的数组是:1, 2, 4
它表示整数 124,加 1 等于 125,于是你要返回数组:
1, 2, 5
代码
public class AlgoCasts {
// Time: O(n), Space: O(1)
public int[] plusOne(int[] digits) {
int p = digits.length - 1;
while (p >= 0 && digits[p] == 9)
digits[p--] = 0;
if (p == -1) {
int[] result = new int[digits.length + 1];
result[0] = 1;
return result;
} else {
digits[p] += 1;
return digits;
}
}
}