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;
    }
}

 

posted @ 2015-04-15 07:41  世界到处都是小星星  阅读(109)  评论(0编辑  收藏  举报