仅用于学习记录
题目
题解
加一只有两种情况
- 个位数小于9
- 各位数等于9
class Solution {
public int[] plusOne(int[] digits) {
//从个位数开始循环
for(int i=digits.length-1;i>=0;i--){
digits[i]++;
//若本身个位数小于9就不会进位,%10的结果和加一相同
digits[i]=digits[i]%10;
if(digits[i]!=0)
return digits;
}
//若是每个位置都是9,那就新建一个比原数组长一位的数组,将首位变成1其余为0就可以
digits = new int [digits.length + 1];
digits[0] = 1;
return digits;
}
}
最后的情况这个方法很精妙,源自YHHZW
想把它写成一个日记,让妈妈再也不用担心我的学习(