美文网首页
LeetCode每日一题:plus one

LeetCode每日一题:plus one

作者: yoshino | 来源:发表于2017-05-26 15:46 被阅读74次

    问题描述

    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

          本文链接:https://www.haomeiwen.com/subject/xbrxfxtx.html