思路:分为两种情况
1.没有进位,直接+完就完,比如46+1=47
2.有进位而且还需要扩展一位,比如99+1=100
代码如下:
class Solution {
public:
vector plusOne(vector& digits) {
int jinwei=1;
for(int i=digits.size()-1;i>=0;i--){
int temp=digits[i];
digits[i]=(temp+jinwei)%10;
jinwei=(temp+jinwei)/10;
}
//如果加完之后还有进位,则需要新建数组进行加一位
if(jinwei==1){
vectorres(digits.size()+1);
res[0]=1;
for(int i=0;i
还有种思路就是把数组转换为数字,计算 完成之后再转换为数组,想想都比较头疼,可以试试哈。