zoukankan      html  css  js  c++  java
  • 初级算法-7. 加一

    题目描述:

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

    最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

    你可以假设除了整数 0 之外,这个整数不会以零开头

    示例 1:
    输入: [1,2,3]
    输出: [1,2,4]
    解释: 输入数组表示数字 123

     示例 2:

    输入: [9,9,9,9]
    输出: [1,0,0,0,0]
    解释: 输入数组表示数字 9999。

    分析: 1.从最低位(数组的最后一个元素)开始,如果此位不为9就使之+1,并返回原数组

        2.若此位为9,本位置0,向前遍历执行第一步

        最后若最高位为0,即表示数组全为9,则返回[1,0,0,...,0] 

    class Solution {
        public int[] plusOne(int[] digits) {
            
            for(int i=digits.length-1;i>=0;i--){
                if(digits[i]==9)
                    digits[i]=0;
                else{
                    digits[i]++;
                    return digits;
                }
                    
            }
            if(digits[0]==0)
            {
                int[] t=new int[digits.length+1];
                t[0]=1;
                return t;
            }
            return digits;
        }
    }
  • 相关阅读:
    数值的整数次方
    Grid Sorting
    第K小的数
    图形学变换矩阵的分解
    神经网络理论简介(三)
    神经网络理论简介(二)
    神经网络理论简介(一)
    C/C++的内存对齐
    strcpy的实现
    C++对象模型简析
  • 原文地址:https://www.cnblogs.com/hzhqiang/p/10765748.html
Copyright © 2011-2022 走看看