Leetcode: 66 加1

加一

第一种方法其实比较多余, 每次记录一下carry

class Solution {
    public int[] plusOne(int[] digits) {
        int trail = 1;

        for (int i = digits.length - 1; i >= 0; i--) {
            int temp = digits[i];
            int sum = temp + trail;
            if (sum >= 10) {
                trail = 1;
            } else {
                trail = 0;
            }
            digits[i] = sum % 10;
        } 
        if (trail > 0) {
            int array[] = new int[digits.length + 1];
            array[0] = trail;
            for (int i = 1; i < array.length; i++) {
                array[i] = digits[i - 1];
            }
            return array;
        }
        return digits;
    }
}

class Solution {
    public int[] plusOne(int[] digits) {
        int len = digits.length;
        for (int i = len - 1; i >= 0; i --) {
            digits[i]++;
            digits[i] = digits[i] % 10;
            if (digits[i] != 0) { // 没有加起来等于 10 的 || 当前不是  9 return
                return digits;
            }
        }
        digits = new int[len + 1]; // 最后一位
        digits[0] = 1; 
        return digits;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中...
    河海中最菜阅读 135评论 0 0
  • 明天接着奋斗小金边儿
    一临江仙阅读 217评论 2 5
  • 万物千姿百态,山也是。 不同的山有不同的样子,从山脚到山顶,从清晨到正午到深夜,从春到夏到秋冬。山似乎总是变幻莫测...
    mango大人阅读 242评论 0 0