用数组表示数加一,从后往前遍历,找到非9的数,加一,后面的数全为0.
如果全部遍历都是9,重新创建数组,第一位为1,后面为0
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
int len=digits.size();
for(int i=len-1;i>=0;i--){//从后往前一个个查值
if(digits[i]==9) continue;//是9,进下一位
else{//不是9,直接当前位加加,当前位后面应该都是0
digits[i]++;
for(int j=i+1;j<len;j++){
digits[j]=0;
}
return digits;
}
}
vector<int> res(len+1);//全是9,没办法,重新创建数组
res[0]=1;
return res;
}
};
版权声明:本文为weixin_44730078原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。