class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
vector<int> v1;
for(int i=(int)digits.size()-1;i>=0&&!digits.empty();--i){
v1.push_back(digits[i]);
}
for(auto i=v1.begin();i!=v1.end();++i){
if(*i==9){
*i=0;
if(i==--(v1.end())){
v1.push_back(1);
break;
}
}
else {
(*i)+=1;
break;
}
}
digits.clear();
for(int i=(int)v1.size()-1;i>=0&&!v1.empty();i--){ //记住这里不能直接用v1.size()与1进行相减,前者是一个无符号数,后者是一个有符号数,这样直接相减编译器会报错,应当转换一下。
digits.push_back(v1[i]);
}
return digits;
}
};