66-Plus- One
0x0 题目详情
0x1 解题思路
0x2 代码实现
class Solution {
public int[] plusOne(int[] digits) {
if(digits==null || digits.length==0){
return digits;
}
int[] result=null;
//加1操作只进行一次,所以不必放在循环内执行
int temp=digits[digits.length-1]+1;
//grate为维护的进位值
int grate=temp/10;
digits[digits.length-1]=temp%10;
int cur=0;
for(int i=digits.length-2;i>-1;i--){
cur=digits[i]+grate;
grate=cur/10;
digits[i]=cur%10;
}
if(grate==0){
return digits;
}
result=new int[digits.length+1];
result[0]=grate;
for(int i=0;i<digits.length;i++){
result[i+1]=digits[i];
}
return result;
}
}0x3 课后总结
Last updated