给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
提示:
num1 和num2 的长度都小于 5100
num1 和num2 都只包含数字 0-9
num1 和num2 都不包含任何前导零
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
class Solution{
public:
string addStrings(string num1, string num2){
int index1=num1.size()-1,index2=num2.size()-1;//记录下标,从后往前
int t=0;//标记进位
string s;//返回的结果
while(index1>=0||index2>=0){
int r;
if(index1>=0&&index>=0){
r=num1[index1]-'0'+num2[index2]-'0'+t;
index1--;
index2--;
}else if(index1>=0){
r=num1[index1]-'0'+t;
index1--;
}else{
r=num2[index2]-'0'+t;
index2--;
}
t=r/10;
s.push_back(r%10+'0');//加'0'的目的是将整数转化为字符
}
if(t!=0){
s.push_back(t+'0');//防止位数增多的情况;
}
reverse(s.begin(),s.end());
return s;
}
};
2万+

被折叠的 条评论
为什么被折叠?



