您的位置:首页 > 其它

LeetCode-66-Plus One(水题/数值计算)-Easy

2016-03-18 09:06 169 查看
1. 题意理解

用数组表示一个非负整数,求解该非负整数加一的结果,结果要求同样使用数组表示;

2. 题目分析:

1)注意最高位进位;

2)注意数组的最低位为数值的最高位;

3. 解题代码

public class Solution {
public int[] plusOne(int[] digits) {
int len=digits.length;
int[] ans= new int[len];

int carry=0;
for(int i=len-1; i>=0; i--){
int addOne;
if(i==len-1){
addOne=carry+digits[i]+1;
}else{
addOne=carry+digits[i];
}
ans[i]=(addOne)%10;
carry=(addOne)/10;
}

if(carry!=0){
int[] rst=new int[len+1];
rst[0]=carry;
for(int i=0; i<len; i++){
rst[1+i]=ans[i];
}
ans=rst;
}

return ans;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: