
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;
}
}
'JAVA > leetcode' 카테고리의 다른 글
[LeetCode] Two Sum (0) | 2021.08.07 |
---|---|
[LeetCode Medium] Spiral Matrix !! - BFS (0) | 2021.08.06 |
[LeetCode] Array - Largest Number At Least Twice of Others (0) | 2021.08.06 |
[LeetCode] Array - Find Pivot Index !! (0) | 2021.08.06 |
[LeetCode] Array - Find All Numbers Disappeared in an Array (0) | 2021.08.06 |