66. LeetCode más uno (Java)

66. más uno

Dada una matriz de enteros no vacío no negativo de enteros representado, sobre la base del número más uno.
La mayoría dígito significativo almacenado en la primera matriz, cada elemento de las tiendas de array sólo un solo dígito.
Es posible suponer que, además del número entero 0, el número entero no comienza con un cero.

Ejemplo 1:
Entrada: [1,2,3]
de salida: [2,4]
Explicación: numeral 123 denota la matriz de entrada.

Fuente: estancia botón (LeetCode)
enlace: https: //leetcode-cn.com/problems/plus-one
con derechos de autor por deducción de todas las redes. reimpresión comercial póngase en contacto con la reimpresión autorizada oficial, no comercial por favor indique la fuente.

class Solution {
    public int[] plusOne(int[] digits) {
       for (int i = digits.length - 1; i >= 0; i--) {//从最低位开始遍历
            digits[i]++;//先让他加一
            digits[i] = digits[i] % 10;//加一后的数对10取余
            if (digits[i] != 0)//如果取余后为0,则必定有进位,继续循环,否则没有进位,就直接输出答案
            {
                return digits;
            } 
        } 
        //如果数组中所有元素都等于0,则相当于最高位要进一,例如99加一后为100
        digits = new int[digits.length + 1];//初始化一个数组,初始化后数组所有元素都为0,只需将最高位即下标为0的元素改为1即可
        digits[0] = 1;
        return digits;
    }
}
Publicado 88 artículos originales · ganado elogios 0 · Vistas 2154

Supongo que te gusta

Origin blog.csdn.net/nuts_and_bolts/article/details/105098530
Recomendado
Clasificación