题解 | #大数加法#
大数加法
http://www.nowcoder.com/practice/11ae12e8c6fe48f883cad618c2e81475
同时从后向前遍历字符串s和字符串t,并且设置一个进位carry。
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
string solve(string s, string t) {
string result{};
int carry=0;
for(int i=s.size()-1,j=t.size()-1;i>=0 || j>=0;i--,j--){
int a{},b{};
if(i<0) a=0;
else a=s[i]-'0';
if(j<0) b=0;
else b=t[j]-'0';
int sum=a+b+carry;
carry=sum/10;
result+=to_string(sum%10);
}
if(carry!=0) result+=to_string(carry);
reverse(result.begin(),result.end());
return result;
}
};