Task
思路:
思路就是从最低位循环开始向前检查当前位是否小于9,如果小于9就直接令当前位加1,返回数组即可,如果等于9就令当前位为0继续向前检查直到到达最高位为止,如果循环结束还没有返回值则说明此时数组里全是9,此时我们就返回一个最高位为1其余全为0且位数比原数多1位的数组即可
代码:
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int n = digits.size()-1;
while(n>=0){
if(digits[n] < 9){
digits[n] += 1;
return digits;
}
digits[n--] = 0;
}
vector<int> ret(digits.size() + 1, 0);
ret[0] = 1;
return ret;
}
};
提交结果:
总结思考:
周末进行!