1. 066
2. 算法
O(N)
- 从右往左,如果到[0]还有进位,则需要(n.length+1)的数组
3. 代码
class Solution{
public:
vector<int> plusOne(vector<int> &digits){
int c = 1; // 令进位标识初始值为1
for(int i = digits.size() - 1; i >= 0; -- i){
// 不断处理进位
int a = digits[i] + c;
digits[i] = a % 10;
c = a / 10;
}
// 如果最后还有进位,则在数组最前面在插入1
if(c == 1)
digits.insert(digits.begin(), 1);
return digits;
}
};