題目
Plus One
題目大意:將一個數字加1,這個數字的每一位存放在數組里。
直接模擬相加的過程就好。
代碼如下:
public class Solution {
public int[] plusOne(int[] digits) {
boolean flag = true;//標記有沒有進位
for (int i = digits.length-1;i>=0;i--){
//小于9說明沒有進位,直接加1后跳出循環
if(digits[i]<9){
digits[i] = digits[i] + 1;
break;
} else {
//有進位則繼續檢查前一位
digits[i] = 0;
//第一位有進位
if (i == 0) {
flag = false;
}
continue;
}
}
if (flag)
return digits;
else {
//第一位有進位的時候數組最前邊要加1
int[] re = new int[digits.length+1];
re[0] = 1;
for (int i=1;i<re.length;i++)
re[i] = digits[i-1];
return re;
}
}
}