写在前面
题目详情
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
注意:
num1 和num2 的长度都小于 5100.
num1 和num2 都只包含数字 0-9.
num1 和num2 都不包含任何前导零。
你不能使用任何内建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
ac代码
class Solution
{
public:
string addStrings(string num1, string num2)
{
string ans;
int a = num1.size(), b = num2.size();
if(a==0 || b==0)
return ans;
a--,b--;
int carry = 0;
while(a>=0 || b>=0|| carry !=0)
{
if(a>=0) carry += num1.at(a--)-'0';
if(b>=0) carry += num2.at(b--)-'0';
ans.push_back(carry%10+'0');
carry/=10;
}
reverse(ans.begin(), ans.end());
return ans;
}
};