415. 字符串相加
给定两个字符串形式的非负整数 num1
和num2
,计算它们的和。
注意:
num1
和num2
的长度都小于 5100.num1
和num2
都只包含数字0-9
.num1
和num2
都不包含任何前导零。- 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
代码实现(C++)
class Solution {
public:
string addStrings(string num1, string num2) {
int i = num1.size()-1;
int j = num2.size()-1;
//进位
char next = 0;
string sum;
while(i>=0 || j>=0)
{
char value1 = 0;
if(i>=0)
{
value1 = num1[i]-'0';
}
char value2 = 0;
if(j>=0)
{
value2 = num2[j]- '0';
}
char addvalue = value1+value2+next;
if(addvalue > 9)
{
next = 1;
addvalue -= 10;
}
else
{
next = 0;
}
sum.insert(sum.begin(),addvalue + '0');
--i;
--j;
}
if(next == 1)
{
sum.insert(sum.begin(),'1');
}
return sum;
}
};