示例 1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:
输入:digits = [9]
输出:[1,0]
解释:输入数组表示数字 9。
加 1 得到了 9 + 1 = 10。
因此,结果应该是 [1,0]。
class Solution {
public:
vector<int> plusOne(vector<int>& digits) {
// 后面不为9就+1返回。为9就继续往前进行+1,该位置为0
for(int i = digits.size() - 1; i >= 0; --i) {
if(digits[i] != 9) {
digits[i]++;
return digits;
} else {
digits[i] = 0;
}
}
// 最高位为9时才跳出循环,此时在数组前面加一个1即可
digits.insert(digits.begin(), 1);
return digits;
}
};