给定两个字符串形式的非负整数 num1
和num2
,计算它们的和。
提示:
num1
和num2
的长度都小于 5100num1
和num2
都只包含数字0-9
num1
和num2
都不包含任何前导零- 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式
class Solution { public: string addStrings(string num1, string num2) { int carry = 0; string res; int n1 = num1.size()-1; int n2 = num2.size()-1; while(n1>=0 || n2>=0){ int x = n1>=0?(num1[n1]-'0'):0; int y = n2>=0?(num2[n2]-'0'):0; int sum = carry + x + y; carry = sum/10; sum%=10; res=to_string(sum)+res; n1--; n2--; } if(carry){ res = to_string(carry)+res; } return res; } };