Given two non-negative numbers num1
and num2
represented as string, return the sum of num1
and num2
.
Note:
- The length of both
num1
andnum2
is < 5100. - Both
num1
andnum2
contains only digits0-9
. - Both
num1
andnum2
does not contain any leading zero. - You must not use any built-in BigInteger library or convert the inputs to integer directly
class Solution {
public:
string addStrings(string num1, string num2) {
string s;
int n1=num1.size()-1,n2=num2.size()-1;
int add=0;//进位
while(n1>=0&&n2>=0)
{
char c;
c=num1[n1]+int(num2[n2]-'0'+add);
if(c>'9') {c=c-10;add=1;}
else add=0;
n1--;n2--;
s=c+s;
}
while(n1>=0)
{
char c=num1[n1]+add;
if(c>'9')
{
add=1;
c='0';
}else add=0;
s=c+s;
n1--;
}
while(n2>=0)
{
char c=num2[n2]+add;
if(c>'9')
{
add=1;
c='0';
}else add=0;
s=c+s;
n2--;
}
if(add) s="1"+s;
return s;
}
};