给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
给定 [1,2,3]
表示 123, 返回 [1,2,4]
.
给定 [9,9,9]
表示 999, 返回 [1,0,0,0]
.
class Solution {
public:
/*
* @param digits: a number represented as an array of digits
* @return: the result
*/
vector<int> plusOne(vector<int> &digits) {
// write your code here
for(int i=digits.size()-1;i>=0;i--){
if(digits[i]+1==10){//满十进一
digits[i]=0;
if(i==0){//如果位数不够加一位
digits.insert(digits.begin(),1);
break;
}
}else{
digits[i]=digits[i]+1;
break;
}
}
return digits;
}
};