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.
题目意思看了好几遍才看懂 用数字(0-9)组成的数组来代表一个非负数 现在要对非负数进行加一操作 要求返回新的数组 只有一个特殊情况 就是全为9的时候 要增加数组长度 代码如下:
public class Solution {
public int[] plusOne(int[] digits) {
int i=0;
for(;i<digits.length;i++){
if(digits[i]!=9)
break;
}
if(i==digits.length) {
int[] res=new int[digits.length+1];
for(int j=0;j<digits.length+1;j++){
res[j]=0;
}
res[0]=1;
return res;
}
int add=1;
for(int j=digits.length;j>0;j--){
int tmp=digits[j-1];
digits[j-1]=(tmp+add)%10;
add=(tmp+add)/10;
}
return digits;
}
}