描述:
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。
(字符串长度不大于100000,保证字符串仅由’0’~'9’这10种字符组成)
示例1
输入:
“1”,“99”
返回值:
“100”
说明:
1+99=100
(题目来自牛客网)
用C++实现如下
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 计算两个数之和
* @param s string字符串 表示第一个整数
* @param t string字符串 表示第二个整数
* @return string字符串
*/
string solve(string s, string t) {
// 输入两个字符串表示的两个数的和,求出结果(以字符串形式返回结果)
//思路,实际是求两个字符串相加,使用栈来解决(先把相加的结果放入一个栈中,然后一个一个出栈)
if(s.empty())
return t;
if(t.empty())
return s;
if(s.size() < t.size()) //确保s的长度比t的长度要长一些
swap(t, s);
int tail = s.size()-t.size(); //确定需要补零的位数
int carry = 0;