vector<int> plusOne(vector<int>& digits) {
vector<int> r;
int ok = 1;
for (int i = 0; i < digits.size(); i++) {
if(!ok)
break;
if (digits[digits.size() - 1 - i] + ok < 10)
{
digits[digits.size() - 1 - i] = digits[digits.size() - 1 - i] + ok;
ok = 0;
}
else
{
digits[digits.size() - 1 - i] = 0;
ok = 1;
}
}
if (ok)
r.push_back(1);
for (int i = 0; i < digits.size(); i++) {
r.push_back(digits[i]);
}
return r;
}