给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一,
最高位数字存放在数组的首位,数组中每个元素只存储一个数字
你可以假设除了整数0之外,这个整数不会以 零 开头
示例 1
输入 : {1,2,3}
输出 : {1,2,4}
解释 : 输入数组表示数字 123.
示例 2
输入 : {4,3,2,1}
输出 : {4,3,2,2}
解释 : 输入数组表示数字 4321.
代码:
public class LingKou10 {
public static void main(String[] args){
//输入数字
// 判断数字最后一位是否为9
// 若为9,需要进位,再判断数组上一位是否为9
// 输入的数字第一位在数组第一位,
int m1[]=m1(new int[]{9,9,9,9});
for (int i = 0; i < m1.length; i++) {
System.out.println(m1[i]);
}
}
public static int[] m1(int m[]){
// 先加1,判断
m[m.length-1]+=1;
for (int i = m.length-1; i >=0; i--) {
if(m[i]==10&&i!=0){
m[i]=0;
m[i-1]+=1;
}
if(m[i]==10&&i==0){
//如果执行这条,只会执行1次,直接写就好
int newm[]=new int[m.length+1];
newm[0]=1;
for (int j = 1; j < m.length; j++) {
newm[j]=0;
}
return newm;
}
}
return m;
}
}