LeetCode每日一题:plus one

问题描述

Given a number represented as an array of digits, plus one to the number.

问题分析

这道题目的意思蛮难理解的,大概的意思是digits数组{1,2,3,4},组成一个数1234,把这个数+1=1235用数组返回1235结果,若结果位数变多,那么直接溢出。
这题主要是要处理好进位的问题。

代码实现

public int[] plusOne(int[] digits) {
        int length = digits.length;
        digits[length - 1]++;
        for (int i = length - 1; i >= 1 && digits[i] >= 10; i--) {
            digits[i - 1]++;
            digits[i] = 0;
        }
        if (digits[0] < 10) return digits;
        int[] newDigits = new int[length + 1];
        newDigits[0] = 1;
        return newDigits;
    }

你可能感兴趣的:(LeetCode每日一题:plus one)