今天是个比较简单的题,但还是不能"Accepted"
Problem: Given a number represented as an array of digits, plus one to the number
有两点,一个是array digits[0]应该存储的是数据的高位
另一点是如果array是999,加1会进位,需要新的array长度为digits.length+1
找不出来问题好忧伤
以下是我的代码
public class Solution {
public int[] plusOne(int[] digits) {
int c =0;
int l = digits.length-1;
int[] sum = new int[digits.length];
while(l>=0){
sum[l]=digits[l]+1+c;
if(sum[l]>9){
sum[l]=sum[l]%10;
c = 1;
}
else{
c = 0;
}
l--;
}
if(c==0){
return sum;
}
int[] summ = new int[digits.length+1];
summ[0] = 1;
for (int j = 0; j<=digits.length; j++){
summ[j+1] = sum[j];
}
return summ;
}
}