每天一题LeetCode【第48天】

T66. Plus One【Easy

题目

给一个用数组表示的非负整数,加一并返回。

假设数组除了 0 本身不会零打头(不会有 01,007 这样的数组)。

高位在数组头部。

思路

① 若不进位则直接++返回

② 若进位则我当前位置设为 0,前面的判断是否进位,然后重新执行 ① 和 ②

③ 若遇到 99999 这样全是 9 的遍历完都没返回,则给前面加一个 1,返回

看代码就可以懂了~

代码

代码取自 Top Solution,稍作注释

public int[] plusOne(int[] digits) {
        //获得数字长度
        int n = digits.length;
        //从低位往高位遍历
        for(int i=n-1; i>=0; i--) {
            //若小于9,则直接++,跳出循环返回+1
            if(digits[i] < 9) {
                digits[i]++;
                return digits;
            }
        //能执行到这里代表进位了,所以设为 0
        digits[i] = 0;
        }
        //能执行到这里说明前面都是 999999,所以添加一位,设成 1
        int[] newNumber = new int [n+1];
        newNumber[0] = 1;
        return newNumber; 
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,853评论 18 399
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 别爱的太满,只是身不由己;别睡的太晚,谁能唱一曲助眠? ——题记 最近,几位为情所伤,以身殉爱的女子刷了屏。 都是...
    章非阅读 925评论 5 8
  • 上一章 四 夜色已深。天水城如笼罩在黑幔下的铁狮,悄无声息,更衬出楚军大营的灯火通明。中军帐中,数十支粗若儿臂的红...
    德万托阿阅读 569评论 0 5