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;
            }
            
        }
    }
    
  • 相关阅读:
    【maven】之打包war依赖子项目jar
    ~~运算符
    ~运算符
    Vuex文档
    vue-cli文档
    express文档
    vue-router 2文档
    Swiper文档
    基于React服务器端渲染的博客系统
    react.JS
  • 原文地址:https://www.cnblogs.com/reboot329/p/6029724.html
Copyright © 2011-2022 走看看