zoukankan      html  css  js  c++  java
  • Leetcode 66. 加一

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

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

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

    示例 1:

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

    示例 2:

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

    思路:分两种情况,一种是都有9的,就要让数组长度+1,然后后面赋值为0
    另一种就是不全是9的,如果为个位,则把个位变0,前面+1

     1 int[] plusOne(int[] digits) {
     2         boolean flag=true;
     3         
     4         for(int i=0;i<digits.length;i++)
     5         {
     6             if(digits[i]!=9)
     7             {
     8                 flag=false;
     9                 break;
    10             }
    11         }
    12         if(flag)
    13         {
    14             int [] ans=new int [digits.length+1];
    15             ans[0]=1;
    16             return ans;
    17         }
    18         else {
    19             for(int i=digits.length-1;i>=0;i--)
    20             {
    21                 if(digits[i]!=9)
    22                 {
    23                     digits[i]+=1;
    24                     break;
    25                 }
    26                 else digits[i]=0;
    27             }
    28         }
    29         return digits;
    30     }
    View Code
  • 相关阅读:
    【转】size_t和ssize_t
    WCF订票系统DEMO
    VS2008显示解决方案的方法
    一些好用的开源控件
    SQL 的Over 子句
    Sql2005高效分页语句
    使用winform的showdialog小心内存泄漏
    字符串连接类(Javascript)
    SharpZipLib 的使用
    浅谈持久化
  • 原文地址:https://www.cnblogs.com/tijie/p/9985779.html
Copyright © 2011-2022 走看看