题目:
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.
[1,2,3]->[1,2,4] [9,9]->[1,0,0]
思路:从数字的低位出发(数组的高位),如果是num[i]==9,令num[i]=0;如果不是9,则+1,然会num。
然后可以判断num[0]是不是0,如果是0,说明原来数字是99…9,new int[len+1] ,第一位设为1,返回。
也可以当for循环结束,直接认为是99…9,new return
代码:
public int[] plusOne(int[] digits) {
for(int i=digits.length-1;i>=0;i--){
if(digits[i]<9){
digits[i]++;
return digits;
}
digits[i]=0;
}
//if not return in-For,mean the digits is 99……9
int [] newDigits = new int[digits.length+1];
newDigits[0]=1;
return newDigits;
}