/*
* 加一
执行用时 :1 ms, 在所有Java提交中击败了95.01%的用户
内存消耗 :34 MB, 在所有Java提交中击败了99.16%的用户*/
public static int[] plusOne(int[] digits) {
if(digits .length==0){
return null;
}int m = digits.length - 1;
while (true) {
digits[m] += 1;//加一操作
if (digits[m] == 10) {//满十进一
digits[m--] = 0;
if(m<0){//若m越界。则数组扩容
digits =Arrays .copyOf(digits ,digits .length +1) ;
for(int i=digits .length -2;i>0;i--){//数组所有元素后移一位
digits [i+1]=digits [i];
}digits [0]=1;break;
}
}
else break;
}
return digits ;
}
leetcode加一
最新推荐文章于 2022-10-25 11:57:01 发布