给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
样例
给定 [1,2,3]
表示 123, 返回 [1,2,4]
.
给定 [9,9,9]
表示 999, 返回 [1,0,0,0]
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
if(digits.empty())
return digits;
reverse(digits.begin(),digits.end());
int tmp=1,size=digits.size();
for(int i=0;i<size&&tmp!=0;++i){
tmp+=digits[i];
digits[i]=tmp%10;
tmp/=10;
}
if(tmp!=0)
digits.push_back(tmp);
reverse(digits.begin(),digits.end());
return digits;
}
};