当前位置:首页软件开发Java → Plus One

Plus One

时间:2021-06-16 00:48:44来源:互联网我要评论(0)

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.

这道题目和Add Binary 这道题,还有Add Two Numbers 这道题目属于同一类型的题目。主要的问题要维护一个进位carry,根据题目的要求,不管是二进制还是十进制,如果有进位,carry就为1。最后要检查最后一位是否有进位,如果有进位要重新设定数组的长度,来保存进位。代码如下:

public class Solution {
    public int[] plusOne(int[] digits) {
        int carry = 0;
        for(int i = digits.length - 1; i >= 0; i--) {
            if(i == digits.length - 1) digits[i] ++;
            int tem = digits[i] + carry;
            if(tem > 9) {
                carry = 1;
            } else {
                carry = 0;
            }
            digits[i] = tem % 10;
        }
        if(carry == 1) {
            int[] result = new int[digits.length + 1];
            result[0] = 1;
            return result;
        }
        return digits;
    }
}

相关文章

网友评论

热门评论

最新评论

发表评论 查看所有评论()

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

关于万荚 | 联系方式 | 发展历程 | 版权声明 | 帮助(?) | 网站地图 | 友情链接

Copyright 2005-2021 16WJ.COM 〖万荚网〗 版权所有 桂ICP备18000060号 |

声明: 本站所有文章来自互联网 如有异议 请与本站联系