對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x = 1231,那麼其陣列形式為 [1,2,3,1]。
給定非負整數 x 的陣列形式 a,返回整數 x+k 的陣列形式。
示例 1:
輸入:a = [1,2,0,0], k = 34
輸出:[1,2,3,4]
解釋:1200 + 34 = 1234
示例 2:
輸入:a = [2,7,4], k = 181
輸出:[4,5,5]
解釋:274 + 181 = 455
示例 3:
輸入:a = [2,1,5], k = 806
輸出:[1,0,2,1]
解釋:215 + 806 = 1021
示例 4:
輸入:a = [9,9,9,9,9,9,9,9,9,9], k = 1
輸出:[1,0,0,0,0,0,0,0,0,0,0]
解釋:9999999999 + 1 = 10000000000
我的方法:
class solution
reverse(b.begin(),b.end());
int a1=a.size();
int b1=b.size();
while(a1b1)
for (int i= a1-1; i>0; i--)
a[0]=a[0]+b[0];
if(a[0]>=10)
return a;
}};
其他人的方法:
class solution
reverse(k.begin(),k.end());
int n=max(a.size(),k.size())+1;
vectora(n,0);
int n1=a.size();
int n2=k.size();
int flag=0;
for(int i=0;i=0)&&(n2-1-i>=0))
a[i]=a[n1-i-1]+k[n2-i-1]+flag;
if((n1-1-i<0)&&(n2-1-i>=0))
a[i]=k[n2-i-1]+flag;
if((n1-1-i>=0)&&(n2-1-i<0))
a[i]=a[n1-i-1]+flag;
if((n1-1-i<0)&&(n2-1-i<0))
a[i]=flag;
flag=0;
if(a[i]>=10)
}reverse(a.begin(),a.end());
if(a[0]==0)
a.erase(a.begin());
return a;
}};
陣列形式的整數加法
對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數 x 的陣列形式 a,返回整數 x k 的陣列形式。解題思路 此題是用乙個數的陣列形式 乙個整數,返回和的陣列形式。模擬加法進行逐位相加,從低位向高位相...
陣列形式的整數加法
題目 對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數 x 的陣列形式 a,返回整數 x k 的陣列形式。示例 1 輸入 a 1,2,0,0 k 34 輸出 1,2,3,4 解釋 1200 34 12...
陣列形式的整數加法
力扣 第989題 對於非負整數 x 而言,x 的陣列形式是每位數字按從左到右的順序形成的陣列。例如,如果 x 1231,那麼其陣列形式為 1,2,3,1 給定非負整數 x 的陣列形式 a,返回整數 x k 的陣列形式。示例 1 輸入 a 1,2,0,0 k 34 輸出 1,2,3,4 解釋 1200...