【leetcode】66. (Easy)Plus One
阿新 • • 發佈:2018-11-22
提交程式碼:
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;
}
}
執行結果: