【leetcode】66. (Easy)Plus One

提交代码:

class Solution {
    public int[] plusOne(int[] digits) {
    	int i,num;
        List<Integer> tmp=new ArrayList<Integer>();
        
        
       int ones=(digits[digits.length-1]+1)%10;
       int carry=(digits[digits.length -1]+1)/10;
       tmp.add(ones);
       
        for(i=digits.length-2;i>=0;i--) {
        	if(carry==0) {
        		for(int j=i;j>=0;j--)
        			tmp.add(digits[j]);
        		break;
        	}
        	else {
        		num=(digits[i]+carry)%10;
        		carry=(digits[i]+carry)/10;
        		tmp.add(num);
        	}
        }
        if(carry!=0)
        	tmp.add(carry);
         
       	int[] ans=new int[tmp.size()];
        for(i=tmp.size()-1;i>=0;i--)
        	ans[tmp.size()-1-i]=tmp.get(i);
        
        return ans;
    }
}

运行结果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/AXIMI/article/details/84310020