🌈个人主页:羽晨同学
💫个人格言:“成为自己未来的主人~”
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Solution {
public:
string addStrings(string num1, string num2) {
//11+123
//从个位开始加
string str;
int end1 = num1.size() - 1;
int end2 = num2.size() - 1;
int next = 0;//处理进位问题
while (end1 >= 0 || end2 >= 0)
{
// 7
int x = end1 >= 0 ? num1[end1--]-'0' : 0;
// 8
int y = end2 >= 0 ? num2[end2--]-'0' : 0;
// 15
int z = x + y + next;
next = z / 10;
z = z % 10;
str.insert(str.begin(), z + '0');
}
if (next == 1)
{
str.insert(str.begin(), 1 + '0');
}
return str;
}
};
int main()
{
Solution solution;
string result=solution.addStrings("11", "123");
cout << result << endl;
return 0;
}
这道题目当中,需要注意的是进位问题的解决。