JAVA/leetcode
[LeetCode] Array - Plus One
JJunDol2
2021. 8. 6. 17:16
carry가 없으면 간단하지만, carry가 생기는 경우를 생각해야 함
9로만 되어 있는 경우에는 자릿수가 하나 늘어나도 첫 번째 digit만 1이고 나머지는 0일 것임
{9,9,9,9} => {1,0,0,0,0}
class Solution {
public int[] plusOne(int[] digits) {
int n = digits.length;
for (int i = n-1; i >= 0; i--) {
if(digits[i] == 9) {
digits[i] = 0;
if(i == 0) {
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
}
} else {
digits[i]+=1;
return digits;
}
}
return digits;
}
}
class Solution {
public int[] plusOne(int[] digits) {
int dex = digits.length - 1;
for(int i = dex; i>=0;i--){
digits[i]++;
digits[i] = digits[i] % 10;
if(digits[i] != 0){
return digits;
}
}
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
}
}