Leecode no.66 实现数组加1

package com.example.demo.leecode;

import java.util.Arrays;

/**
* 题目: 数组+1
* @Date 2020/11/24
* @author Tang
*
* 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
*
* 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
*
* 你可以假设除了整数 0 之外,这个整数不会以零开头。
*
*/
public class IncrementArray {

Integer[] array;

int index;

public void init(Integer[] array){
this.array = array;
if(array == null || array.length <= 0){
return;
}
index = array.length - 1;
execute();
System.out.println(this.array.length);
System.out.println(Arrays.toString(this.array));
}

/**
* 执行+1操作
*/
private void execute(){
if(index == -1){
Integer[] newArray = new Integer[array.length+1];
newArray[0] = 1;
for (int i = 0; i < array.length; i++){
newArray[i+1] = array[i];
}
this.array = newArray;
return;
}

if(array[index] == 9){
array[index] = 0;
index--;
execute();
}else{
array[index]++;
}

}



public static void main(String[] args) {
Integer[] array ={8,9,9,9,9};

IncrementArray IncrementArray = new IncrementArray();
IncrementArray.init(array);

}


}
原文地址:https://www.cnblogs.com/ttaall/p/14031403.html