415.Add Strings
415.Add Strings
难度:Easy
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
注意:
1
num1 和num2 的长度都小于 5100.
2
num1 和num2 都只包含数字 0-9.
3
num1 和num2 都不包含任何前导零。
4
你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
Copied!
字符串相加,从最低位开始相加,留一个flag表示进位。
1
class Solution {
2
public:
3
string addStrings(string num1, string num2) {
4
num1= '0'+num1;
5
num2='0'+num2;
6
while(num1.length()>num2.length())
7
num2 = '0'+num2;
8
while(num2.length()>num1.length())
9
num1 = '0'+num1;
10
int flag=0;
11
string res;
12
for(int i=num1.size()-1; i>0;i--)
13
{
14
int tmp=(num1[i]-'0' ) +(num2[i] - '0')+flag;
15
if(tmp>=10)
16
{
17
flag=1;
18
tmp-=10;
19
20
}
21
else
22
flag=0;
23
res= (char)('0'+tmp) +res;
24
}
25
if(flag)
26
res='1'+res;
27
return res;
28
29
}
30
};
Copied!
执行用时 :24 ms, 在所有 C++ 提交中击败了24.74%的用户 内存消耗 :74.6 MB, 在所有 C++ 提交中击败了6.03%的用户
Copy link