leetcode- Plus One

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 ,主要考虑极端情况 ,9999999,+1,数组扩展一位;

代码:

package leetcode;

public class PlusOne {
    public int[] plusOne(int[] digits) {
        int len = digits.length;
        int carry = 1;
        for(int i = len-1 ; i>=0;i--){
            int sum = digits[i] + carry;
            if(sum <=9 ) return digits;    //只是在最低位+1;  如果有一位不超过9,那么就直接返回,后面的代码都不用执行
                                           //这里只要考虑极端情况就OK~
        digits[i] = 0;    
        }
      int[] newdigits = new int[len+1];
      newdigits[0] = 1;
      return newdigits;                //这个返回的意思是,999999+1 = 1000000,因此,只要在最高位加1位即可,后面的都是0!!
        
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}

posted @ 2016-04-15 13:42  wangb021  阅读(160)  评论(0编辑  收藏  举报