题目链接:Plus One
这道题属于简单,但是不知道是英语差还是怎么得,我没看懂题目,搜了下其他人对这个题目的理解,才发现原来如此,挺简单的~
题意:使用数组来记录一个整数,设置数组digits,如整数98,那么digits[0]=9,digits[1]=8;加1以后,依次进位,如果超过原数组的长度,那么就新建一个数组,将原数组复制到新数组,并设置最高位为1。
代码:
public class Solution {
public int[] plusOne(int[] digits) {
int len = digits.length;
for(int i=len-1;i>-1;i--)
{
if(digits[i]<9)
{
digits[i]++;
return digits;
}
else
digits[i]=0;
}
if(digits[0]==0)
{
int[] newdigits =new int[len+1];
System.arraycopy(digits, 0, newdigits, 1, len);
newdigits[0]=1;
return newdigits;
}
return digits;
}
}