搜索此博客

2013年1月18日星期五

Plus One

Given a number represented as an array of digits, plus one to the number.
01 public int[] plusOne(int[] digits) {
02     int length=digits.length;
03     int [] result=new int[length+1];
04     int last=length-1;
05     int lastA=length;
06   
07     int sum=0;
08     int value=0;
09     int carrier=1;
10   
11     while (last>=0)
12     {
13         sum=digits[last]+carrier;
14         value=sum%10;
15         carrier=sum/10;
16         result[lastA]=value;
17         last--;
18         lastA--;
19     }
20     if(lastA>=0)
21         result[lastA]=carrier;
22   
23     if(result[0]==0)
24     {
25         int [] result2=new int[length];
26         for (int i=0;i<length;i++)
27         {
28             result2[i]=result[i+1];
29         }
30         return result2;
31     }
32     else
33     {
34         return result;
35     }
36 }

没有评论:

发表评论