LintCode-407.加一

题目

描述

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。

样例

给定 [1,2,3] 表示 123, 返回 [1,2,4].

给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

解答

思路

由于是加一,就简单多了。从后往前

  1. 只要是某一位加1之后小于10。直接返回。
  2. 加到最后一位都没有返回,说明要进1,而new出来的int[]默认设置为0,只需要把首位设为1就行了。

代码

public class Solution {
    /**
     * @param digits a number represented as an array of digits
     * @return the result
     */
    public int[] plusOne(int[] digits) {
        // Write your code here
        for(int i = digits.length - 1;i >= 0 ;i--){
            if(++digits[i]>9) digits[i] = 0;
            else return digits;
        }
        int[] temp = new int[digits.length + 1];temp[0]=1;
        for(int i = 1; i < temp.length;temp[i++]=0);
        return temp;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,835评论 0 4
  • 3.10 69.给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 二叉树的层次遍历样例给一棵二叉树 {3...
    mytac阅读 4,793评论 3 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • 咱两个在学校,整整三年…… “咱两个在学校,整整三年,相处之中,无话不谈"…… 平生会唱的第一首豫剧唱段即是《朝阳...
    鹰_张朝民阅读 7,787评论 0 0

友情链接更多精彩内容