• 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;
      }

     



  • 相关阅读:
    ORACLE中seq$表更新频繁的分析
    VmWare平台Windows Server 2012 无响应宕机
    SQL Challenge ——快速找到1-100之间缺失的数
    ORACLE推导参数Derived Parameter介绍
    SQL SERVER 数据库各版本功能对比
    Jsp中格式化时间戳的常用标签
    SQL Server 2014 Database Mail重复发送邮件特殊案例
    采用HTML5之“data
    多线程之策略模式
    docker attach卡住,和exec的选择
  • 原文地址:https://www.cnblogs.com/takeyblogs/p/12661784.html
Copyright © 2020-2023  润新知