Plus One

总结数据处理帖子http://blog.csdn.net/linhuanmars/article/details/39046243

这道题看似简单,但是有个优化必须要考虑到,就是如果没有进位,则应该立即返回

public class Solution {

    public int[] plusOne(int[] digits) {

        if(digits==null || digits.length==0) return digits;

       

        if (digits[digits.length-1]+1<10) {

            digits[digits.length-1]+= 1;

            return digits;

        }

         

        for(int i= digits.length-1; i>=0; i--){

            int tmp = 1+digits[i];

            digits[i] = tmp%10;

            if(tmp<10) {

                return digits;

            } 

        }

        int[] r = new int[digits.length+1];

        r[0]=1;

        return r;

    }

}

 

你可能感兴趣的:(one)