难度简单50
对于非负整数 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
class Solution {
public:
vector<int> addToArrayForm(vector<int>& A, int K) {
vector<int> k1;
vector<int> res;
if(K==0)
{
return A;
}
while(K!=0)
{
int t=K%10;
k1.push_back(t);
K=K/10;
}
reverse(A.begin(),A.end());
int la=A.size();
int lk=k1.size();
int lr=max(la,lk)+1;
for(int j=0;j<lr;j++)
{
res.push_back(0);
}
for(int i=0;i<la;i++)
{
res[i]+=A[i];
}
for(int p=0;p<lk;p++)
{
res[p]+=k1[p];
}
for(int q=0;q<lr;q++)
{
if(res[q]>9)
{
int t=res[q];
res[q]=t%10;
res[q+1] +=t/10;
}
}
if(res[lr-1]==0)
{
res.pop_back();
}
reverse(res.begin(),res.end());
return res;
}
};