陣列形式的整數加法

2021-09-29 19:34:53 字數 1402 閱讀 6157

對於非負整數 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...