[LeetCode] #66 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
难点在于9加1后需要进位。那我们从末尾开始加1,如果加完等于10,那我们需要把10变成0,再把前一位加1,以此类推。如果不等于10就直接结束。
如果出现999的情况,会变成000,则需要我们创建长度加1的新数组,首位填1代表1000。
class Solution { public int[] plusOne(int[] digits) { for(int i = digits.length-1;i>=0;i--){ digits[i]++; digits[i]=digits[i]%10; if(digits[i]%10!=0){ return digits; } } digits= new int[digits.length+1]; digits[0] = 1; return digits; } }
知识点:无
总结:无