Plus One

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Solution{
public int[] plusOne(int[] digits){
int flag = 1;
int len = digits.length;
for(int i = len - 1 ; i >= 0 ; i--){
int sum = digits[i] + flag;
flag = sum / 10;
digits[i] = sum % 10;
}
if(flag == 1){
int[] result = new int[len+1];
result[0] = 1;
System.arraycopy(digits,0,result,1,len);
return result;
}
return digits;
}
}

小结

  • 数字相加可以设立进位标识,进位标识用/,求本位用%
  • 两个数组复制可以用System.arraycopy(srcChar,begindex,destChar,begindex,len)