首页 > 其他 > 详细

[LeetCode] NO. 66 Plus One

时间:2016-09-29 17:37:53      阅读:150      评论:0      收藏: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.

 

[题目解析] 用一个数组表示一个非负数,然后进行加1的操作,数组第一位是最高位。题目比较简单,我们考虑只有某一位为9并且有进位的情况下,该位会变成0,然后进位,否则就直接该位进行+1操作即可。

当所有位都是9的特殊情况下,要特别处理一下,具体代码如下。

    

  public int[] plusOne(int[] digits) {
        int flag = 1;
        int len = digits.length;
        int []ret = new int[len+1];
        for(int i = len-1; i >= 0; i--){
            if(digits[i] == 9){
                digits[i] = 0;
            }else{
                digits[i]++;
                return digits;
            }
        }
        ret[0] = 1;
        return ret;
  }

  

[LeetCode] NO. 66 Plus One

原文:http://www.cnblogs.com/zzchit/p/5920506.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!