一开始理解错了题意,以为是数组的每一个数可以是多位数,后来看了case以后发现原来都是一位数,英语捉急。
水题。从最后一位数开始判断,直到不是9的数出现。
class Solution {
public:
vector<int> plusOne(vector<int> &digits) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
vector<int> ans;
int i = digits.size()-1;
while(i >= 0 && digits[i] == 9){
i--;
}
if(i < 0) ans.push_back(1);
else{
for(int j = 0; j < i; j++)
ans.push_back(digits[j]);
ans.push_back(digits[i]+1);
}
for(int j = 1; j < digits.size()-i; j++)
ans.push_back(0);
return ans;
}
};