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

    最后更新

    二刷
    12-Jan-2017

    看了一刷的做法,发现自己二刷做的真是丑陋。。重新按一刷思路做了一下。。

    还是从右往左找第一个不是9的数位。。都是9的话答案就是1000000000000这= =

    public class Solution {
        public int[] plusOne(int[] digits) {
            int i = 0;
            for (i = digits.length - 1; i >= 0; i --) {
                if (digits[i] != 9) break;
            }
            
            
            if (i == -1) {
                int[] res = new int[digits.length+1];
                res[0] = 1;
                for (i = 1; i < res.length; i++) {
                    res[i] = 0;
                }
                return res;
            } else {
                digits[i] ++;
                for (i = i + 1; i < digits.length; i++) {
                    digits[i] = 0;
                }
                return digits;
            }
        }
    }
    

    一刷
    03-Nov-2016

    从右往左找第一个不是9的数位,然后分情况讨论。

    Time: O(n)
    Space: O(1)

    public class Solution {
        public int[] plusOne(int[] digits) {
            int i = digits.length - 1;
            for (i = digits.length - 1; i >= 0; i--) {
                if (digits[i] != 9) break;
            }
            
            if (i >= 0) {
                digits[i]++;
                for (int j = i+1; j < digits.length; j++) {
                    digits[j] = 0;
                }
                    return digits;
            } else {
                int[] res = new int[digits.length+1];
                for (int j = 1; j < digits.length; j++) {
                    res[j] = 0;
                }
                res[0] = 1;
                return res;
            }
            
        }
    }
    
  • 相关阅读:
    Visual Studio 2008 每日提示(十一)
    Visual Studio 2008 每日提示(十二)
    13 个应该记住的最不寻常的搜索引擎
    Web1.0及WEB2.0的比较
    Comparing Properties to Methods
    1
    Struct Constructor Restrictions
    简单的动态下拉菜单
    权限设计(转)
    conceptpolymorphism
  • 原文地址:https://www.cnblogs.com/reboot329/p/6029724.html
Copyright © 2011-2022 走看看