Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
Example
Given [1,2,3]
which represents 123, return [1,2,4]
.
Given [9,9,9]
which represents 999, return [1,0,0,0]
.
给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
样例给定 [1,2,3]
表示 123, 返回 [1,2,4]
.
给定 [9,9,9]
表示 999, 返回 [1,0,0,0]
.
public class Solution {
/**
* @param digits a number represented as an array of digits
* @return the result
*/
public int[] plusOne(int[] digits) {
int carry = 1;
for (int i = digits.length - 1; i >= 0; i--) {
int sum = digits[i] + carry;
digits[i] = sum % 10;
carry = sum / 10;
}
if (carry == 0) { return digits; }
else {
int[] newDigits = new int[digits.length + 1];
newDigits[0] = carry;
for (int i = 0; i < digits.length; i++) {
newDigits[i + 1] = digits[i];
}
return newDigits;
}
}
}