415.字符串相加 (Easy)*
题目描述*
给定两个字符串形式的非负整数 num1 和 num2 ,计算它们的和。
注意*
- num1 和 num2 的长度都小于 5100.
- num1 和 num2 都只包含数字 0-9.
- num1 和 num2 都不包含任何前导零。
- 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
代码*
大数相加
class Solution {
public:
string addStrings(string num1, string num2) {
int flag = 0;
int len1 = num1.length();
int len2 = num2.length();
string res(max(len1, len2), '0');
int index = res.length() - 1;
for(int i = len1 - 1, j = len2 - 1; i >= 0 || j >= 0; i--, j--) {
int sum = flag;
if(i >= 0) {
sum += num1[i] - '0';
}
if(j >= 0) {
sum += num2[j] - '0';
}
res[index--] = sum % 10 + '0';
flag = sum / 10;
}
if(flag) {
res = '1' + res;
}
return res;
}
};
最后更新: July 23, 2022