描述
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
(字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成)
示例1
输入:
"1","99"
复制返回值:
"100"
复制说明:
1+99=100
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
string solve(string s, string t) {
// write code here
if (s.length() > t.length()) {
solve(t, s);
}
reverse(s.begin(), s.end());
reverse(t.begin(), t.end());
int tmp = 0, sum;
string result = "";
for (int i = 0; i < s.length(); i++) {
sum = tmp + s[i] + t[i] - 96;
if (sum >= 10) {
tmp = 1;
sum -= 10;
} else {
tmp = 0;
}
result += char(sum + 48);
}
for (int i = s.length(); i < t.length(); i++) {
sum = tmp + t[i] - 48;
if (sum >= 10) {
tmp = 1;
sum -= 10;
} else {
tmp = 0;
}
result += char(sum + 48);
}
if (tmp == 1) {
result += '1';
}
reverse(result.begin(), result.end());
return result;
}
};
开始学习C++
cout << :输出流。endl是换行符
reverse函数可用
string有.begin()和.end(),可以表示首尾,也可以直接加。