题目来源【Leetcode】
You are given a string representing an attendance record for a student. The record only contains the following three characters:
Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.
Note:
The length of both num1 and num2 is < 5100.
Both num1 and num2 contains only digits 0-9.
Both num1 and num2 does not contain any leading zero.
You must not use any built-in BigInteger library or convert the inputs to integer directly.
这道题就是求两个数的和,只不过是以字符串的形式进行,代码如下:
class Solution {
public:
string addStrings(string num1, string num2) {
string s = "";
int temp = 0;
int l1 = num1.size();
int l2 = num2.size();
if(l1 < l2){
for(int i = 0; i < l2-l1; i++)
num1 = "0" + num1;
}
else {
for(int i = 0; i < l1-l2; i++)
num2 = "0" + num2;
}
for(int i = num1.length()-1; i >= 0; i--){
int t = num1[i]+num2[i]+temp-48*2;
if(t > 9) {
temp = 1;
t = t-10;
}
else temp = 0;
s = char(t+48) + s;
}
if(temp == 1) s = "1" + s;
return s;
}
};