Leetcode-66 加一

作者: itbird01 | 来源:发表于2021-10-29 16:07 被阅读0次

66. 加一

解题思路

1.基于数组直接操作,由末尾递进操作,进行进位判断
2.如果大于10,则将累加位保留到下一次,如果小于10,则直接将当前结果赋值,并且value递进位为0
3.判断最后递进位是否为0,如果不为0 ,则需要在原先数组上,添加一位

解题遇到的问题

后续需要总结学习的知识点

1.Arrays.copyof与System.arraycopy的区别和联系

##解法1
class Solution {
    public int[] plusOne(int[] digits) {
        // 基于数组直接操作,由末尾递进操作,进行进位判断
        int value = 1;
        for (int i = digits.length - 1; i >= 0; i--) {
            //如果大于10,则将累加位保留到下一次
            if ((digits[i] + value) / 10 != 0) {
                value = (digits[i] + value) / 10;
                digits[i] = (digits[i] + value) % 10;
            } else {
                //如果小于10,则直接将当前结果赋值,并且value递进位为0
                digits[i] = digits[i] + value;
                value = 0;
            }
        }
        //判断最后递进位是否为0,如果不为0 ,则需要在原先数组上,添加一位
        if (value != 0) {
            int[] result = new int[digits.length + 1];
            System.arraycopy(digits, 0, result, 1, digits.length);
            result[0] = value;
            return result;
        } else {
            return digits;
        }
    }
}

相关文章

  • Leetcode-66 加一

    66. 加一[https://leetcode-cn.com/problems/plus-one/] 解题思路 1...

  • 加一

    从迷糊到清醒 不过是瞬间,就好像你突然不再是那个扎着马尾蹦蹦跳跳不知道烦恼的孩童,会想起在学校的时候,无聊而有趣难...

  • 一加

    给孩子一个梦想,还孩子一个明天。

  • 一加

    今天下午看了一加的发布会,以前也看过,今天认真的看了一下,觉得刘作虎也是实在人,说的相对客观,但有时候略显啰嗦,感...

  • 加一

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存...

  • 加一

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只...

  • 加一

    66. 加一 直接上代码 Tips: 本质是小学按位相加,传播进位 每次遍历一个数组元素,时间复杂度显而易见 至于...

  • 加一

    前几天娃就说想吃猪大肠。外面卖的看着实在是不怎么样。于是决定自己动手。 一直拖到今天才去市场买了三根大肠头和一个猪...

  • 加一

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只...

  • 加一

    终于下了一个早班了,尽然突然有点小开心还。可惜我都做好了,跑路的准备了。真的是一个坑的感觉,可能感觉不到什么成长性...

网友评论

    本文标题:Leetcode-66 加一

    本文链接:https://www.haomeiwen.com/subject/eywialtx.html