주어진 숫자 배열에서 1을 더하는 문제입니다.
[1,2,4] -> [1,2,5]
[9] -> [1,0]
[1,2,7,8] -> [1,2,7,9]
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
for(int i = n-1; i >= 0; i--)
{
if(digits[i] == 9)
{
digits[i] = 0;
if(i == 0)
{
digits.insert(digits.begin(),1);
}
}
else
{
digits[i]++;
break;
}
}
return digits;
}
};
끝자리가 9가 아니면 너무 쉽게 끝나고, 9면 다음 자리에도 연달아서 실행해주면 됩니다. 생각보다 쉽게 풀 수 있었습니다.