分析
将K变为vector形式,然后两个数组相加,最终输出答案数组。
C++ 代码
class Solution {
public:
vector<int> ans;
vector<int> addToArrayForm(vector<int>& A, int K) {
vector<int> k;
while(K)
{
k.push_back(K%10);
K/=10;
}
reverse(A.begin(),A.end());
int n=max(A.size(),k.size()),t=0; //t为相加后每一位的值
for(int i=0;i<n;i++)
{
if(i<A.size()) t+=A[i];
if(i<k.size()) t+=k[i];
ans.push_back(t%10);
t/=10;
}
if(t) ans.push_back(t);
reverse(ans.begin(),ans.end()); //计算完后要转置一下,让最高位在最前面
return ans;
}
};