Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
题意:一个用数组表示的整数,数组的每一个元素代表这个整数的一位数字,求这个整数加1之后所代表的数组。
这个题目非常简单,直接上代码:
public class Solution {
public int[] plusOne(int[] digits) {
if(digits[digits.length-1]!=9){
digits[digits.length-1]++;
return digits;
}
boolean b = true;
int[] a = null;
for(int i=0;i<digits.length;i++){
if(digits[i]!=9)
b = false;
}
if(b==true){
a = new int[digits.length+1];
a[0] = 1;
for(int i=1;i<a.length;i++)
a[i] = 0;
}else{
a = new int[digits.length];
int i = a.length-1;
while(digits[i] == 9){
a[i] = 0;
i--;
}
a[i] = digits[i]+1;
i--;
while(i>=0){
a[i] = digits[i];
i--;
}
}
return a;
}
}