zoukankan      html  css  js  c++  java
  • 66. Plus One

        /*
         * 66. Plus One 
         * 12.5 by Mingyang
         * 不用把array返回来,直接加
         * 首先是我的代码,我就是全部走了一遍,老老实实一个一个的处理
         * 这么就会慢一点
         */
         public int[] plusOne1(int[] digits) {
                int len=digits.length;
                if(len==0||digits==null)
                  return null;
                int add=1;
                boolean hasMore=false;
                for(int i=len-1;i>=0;i--){
                    int temp=add+digits[i];
                    digits[i]=temp%10;
                    add=temp/10==0?0:1;
                }
                if(add==0){
                    return digits;
                }
                int[] res=new int[len+1];
                res[0]=1;
                for(int i=1;i<res.length;i++){
                    res[i]=digits[i-1];
                }
                return res;
            }
          /*
           * 这个网上流行的代码就更好,因为只有加1超过10的情况我才继续加加
           * 否则就不需要进行讨论,直接break掉
           * 两个代码效率很不一样的
           */
        public int[] plusOne(int[] digits) {
            int length;
            length = digits.length;
            for (int i = length - 1; i >= 0; i--) {
                if (digits[i] < 9) {
                    digits[i]++;
                    break;
                } else {
                    digits[i] = 0;  //等于9
                }
            }
            int[] newdigits;
            if (digits[0] == 0) { //多一个位数,也就是多了一个第一位
                newdigits = new int[digits.length + 1];
                newdigits[0] = 1;
                for (int i = 1; i < newdigits.length; i++) {
                    newdigits[i] = digits[i - 1];
                }
            } else {
                newdigits = new int[digits.length];
                for (int i = 0; i < digits.length; i++) {
                    newdigits[i] = digits[i];
                }
            }
            return newdigits;
        }
  • 相关阅读:
    Handler类简介
    Collections 类
    git
    Java NIO总结
    Java I/O随笔
    Java可变参数
    Java静态导入
    Java I/O流体系中常见的流分类
    设计模式之简单工厂模式(Java)
    PL/SQL学习笔记
  • 原文地址:https://www.cnblogs.com/zmyvszk/p/5476650.html
Copyright © 2011-2022 走看看