分三种情况(1)最后一位不是9(2)整个数字只有9(3)从最后一位到某一位数字都是9
(1)很简单,最后一个数字++,然后输出整个数组
(2)所有数字置为0,在数组最前面加一个1,使用insert函数
digits.insert(digits.begin(), 1);
insert使用方法见
(3)从最后一位到第一个不是9的数字,将这个数字右边的9都置为0,然后这个数++,再输出。例如1 9 3 9 9,则要先将3之前的9都置为0,然后3++;
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int k=digits.size();
for(int i=k-1;i>=0;i--){
if(digits[i]!=9){
digits[i]++;
return digits;
}
else{
digits[i]=0;
}
}
digits.insert(digits.begin(), 1);
return digits;
}
};
情况(1)直接for一次直接return输出。
情况(2)直接else几次从第二个return输出。
情况(3)先else几次,直到第一个不是9的数,for一次直接return输出。
标签:digits,insert,加一,return,数字,++,else,力扣,66 From: https://blog.csdn.net/weixin_72031249/article/details/143594743