思路
这里仅仅是加一,所以,产生进位的情况只有与9相加的时候。这里直接申请一个全新的vector速度更快。如果使用digits.insert(digits.begin(), 1),由于要调整内存,速度会很慢。
代码
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
for (int i = digits.size() - 1; i >= 0; --i) {
if (digits[i] < 9) {
++digits[i];
return digits;
}
else digits[i] = 0;
}
vector<int> rs(digits.size() + 1, 0);
rs[0] = 1;
return rs;
}
};