zoukankan      html  css  js  c++  java
  • leetcode题目,个人见解1

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

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

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

    示例 1:

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

    示例 2:

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

    个人见解:
    该题目任意输入一个正整数,如果个位数上的数字不为9,直接把个位数的数字加1,返回即可。
    如果个位数为9,可以列举一个较为特殊的数字 99 。99+1=100。
    当我们任意输入一个数时,最后一个数字(个位数)为9时,把它置为0,那相应的十位数也要判断是否为9,如果不为9,加1就可以了。
    如果为9,也是要置为0。那此时99变成了00。
    肯定是不对的,我们就判断最高位是不是为0,如果为0,就新创建一个比原来数组长度大1的新数组,并把最高位置为1。

    解题代码:

    public int[] plusOne(int[] digits) {

        for(int i = digits.length - 1 ; i >= 0 ; i--) {
          if(digits[i] == 9) {
            digits[i] = 0;
            continue;
          }else {
            digits[i] = digits[i] + 1;
            break;
          }
        }
        if(digits[0] == 0) {
          int[] result = new int[digits.length+1];
          result[0] = 1;
          return result;
        }
        return digits;
      }

     



  • 相关阅读:
    ABP 框架第一篇 ABP框架入门
    SpringBoot+mybatis plus 框架搭建
    诺依框架 第一章 springboot+vue前后端分离版本部署
    常用Web Service汇总网页
    Singleton单例模式
    告别无止境的增删改查Java代码生成器
    Builder生成器模式
    细说Java IO相关
    AbstractFactory抽象工厂模式
    设计模式关于模式的一些很基本的知识点
  • 原文地址:https://www.cnblogs.com/takeyblogs/p/12661784.html
Copyright © 2011-2022 走看看