当前位置:   article > 正文

LeetCode-初级算法-加一_初级算法加一

初级算法加一

运行结果

在这里插入图片描述

一、题目

在这里插入图片描述

二、分析

这道题比较简单,首先题目已经明确指出数组是非空的,而且数组中的每一位都是非负整数,所以我们不用考虑某些特殊情况,我的思路比较简单,就是和我们正常进行加法运算的步骤一样,先找个位数,在个位数加1,如果个位数为9,则需要进位,个位数为0,继续找前一位加1。继续做相同的判断,直到进位至最高位还需进位的情况,这种情况只存在一种现象:数组中的每一位都为9,此时需要重新定义一个数组,数组的长度比原数组多1,该数组的第一位为1,其余为0。
如果还有更好的方法还希望能够交流。

三、源码

class Solution {
    public int[] plusOne(int[] digits) {
        for(int i = digits.length - 1; i >= 0; i--){
            if(digits[i] < 9){
                digits[i] += 1;
                return digits;
            }
            digits[i] = 0;
        }
        int[] result = new int[digits.length+1];
        result[0] = 1;
        return result;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/63475
推荐阅读
相关标签
  

闽ICP备14008679号