Given two non-negative numbers num1 and num2 represented as string, return the sum of num1 and num2.
编程答案:
class Solution {
public:
string addStrings(string num1, string num2) {
if(num1.size()-1 < num2.size()-1) //第一个数的长度大于第二个数。
{
return addStrings(num2,num1);
}
int i,j;
int addBits =0;
for(i=num1.size()-1,j= num2.size()-1;i>=0||j>=0;addBits/=10)
{
if(j>=0)
{
addBits += num1[i--]-'0'+num2[j--]-'0';
num1[i+1] = addBits%10 + '0';
}
else
{
addBits += num1[i--]-'0';
num1[i+1] = addBits%10 + '0';
}
}
return addBits?"1"+num1:num1;
}
};