Given two non-negative numbers num1 and num2 represented as string, return the sum of num1 and num2.
Note:
The length of both num1 and num2 is < 5100.
Both num1 and num2 contains only digits 0-9.
Both num1 and num2 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) {
int i=num1.size()-1;
int j=num2.size()-1;
string res;
int carry=0;
while(i>=0||j>=0)
{
if(i>=0) carry+=num1[i--]-'0';
if(j>=0) carry+=num2[j--]-'0';
res=to_string(carry%10)+res;
carry=carry/10;
}
return carry>0?"1"+res:res;
}
};