您的位置:首页 > 其它

leetcode -- Plus One

2013-08-13 10:57 309 查看
Given a number represented as an array of digits, plus one to the number.

public class Solution {
public int[] plusOne(int[] digits) {
// Start typing your Java solution below
// DO NOT write main() function
int len = digits.length;
digits[len - 1] += 1;
int carry = 0;
for(int i = len - 1; i >= 0; i --){
digits[i] += carry;
10             carry = 0;
if(digits[i] >= 10){
carry = digits[i] / 10;
digits[i] %= 10;
}
}
if(carry > 0){
int[] result = new int[len + 1];
result[0] = carry;
for(int i = 0; i < len; i++){
result[i + 1] = digits[i];
}
return result;
} else {
return digits;
}
}
}


carry加完后需重置为0,因为后面只会有进位的时候才会重新计算carry
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: