zoukankan      html  css  js  c++  java
  • 算法----------加一

    题目:

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
    
    最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
    
    你可以假设除了整数 0 之外,这个整数不会以零开头。
    
    示例 1:
    
    输入: [1,2,3]
    输出: [1,2,4]
    解释: 输入数组表示数字 123。
    示例 2:
    
    输入: [4,3,2,1]
    输出: [4,3,2,2]
    解释: 输入数组表示数字 4321。
    

    我的解答:第一版:

    class Solution {
        public int[] plusOne(int[] digits) {
            //last 表示当前加1的位置
            int last = digits.length-1;
            // 如果当前加1  大于等于10
            while (last >=0 && digits[last] +1 >=10){
                //当前位置的数字为10的余数
                digits[last] = (digits[last] +1) %10;
                //需要加1的位置往前走
                last --;
            }
            //如果需要加1的位置是-1 说明当前数组不够用了
            if (last == -1) {
                int[] arr = new int[digits.length+1];
                arr[0] = 1;
                System.arraycopy(digits,0,arr,1,digits.length-1);
                return arr;
            }else {
                digits[last] +=1;
            }
            return digits;
    
        }
    }
    

    第二版:

    class Solution {
        public int[] plusOne(int[] digits) {
            //第二版
            //last 表示当前加1的位置
            int last = digits.length-1;
            // 如果当前加1  大于等于10
            while (last >=0 && digits[last] ==9){
                //当前位置的数字为10的余数
                digits[last] = 0;
                //需要加1的位置往前走
                last --;
            }
            //如果需要加1的位置是-1 说明当前数组不够用了
            if (last == -1) {
                int[] arr = new int[digits.length+1];
                arr[0] = 1;
                System.arraycopy(digits,0,arr,1,digits.length-1);
                return arr;
            }else {
                digits[last] +=1;
            }
            return digits;
    
        }
    }
    
  • 相关阅读:
    开源 IM 工具编译与环境搭建攻略
    spark研究之install4j打包spark
    OPENFIRE+SPARK语音视频出错连不上的解决办法,倾心吐露:
    Openfire更服务器名称的方法
    install4j打包Spark详解
    关于install4j打包spark的一些方法
    ASP连接LOTUS数据库
    Enabling Large File Uploads On Your Domino Server for XPages
    phpcms v9 数据库操作函数
    phpcms前台的控制器
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/10568475.html
Copyright © 2011-2022 走看看