Given two non-negative integers
num1
and num2
represented as string, return the sum of num1
and num2
.
Note:
- The length of both
num1
andnum2
is < 5100. - Both
num1
andnum2
contains only digits0-9
. - Both
num1
andnum2
does not contain any leading zero. - You must not use any built-in BigInteger library or convert the inputs to integer directly.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class Solution { public: string addStrings(string num1, string num2) { int i = num1.size()-1, j = num2.size()-1; string ret = ""; int c = 0; while(i>=0 && j>=0){ int s = (num1[i--]-'0') + (num2[j--]-'0') + c; ret = to_string(s%10) + ret; c = s/10; } while(i>=0){ int s = (num1[i--]-'0') + c; ret = to_string(s%10) + ret; c = s/10; } while(j>=0){ int s = (num2[j--]-'0') + c; ret = to_string(s%10) + ret; c = s/10; } if(c) ret = to_string(c) + ret; return ret; } }; |
No comments:
Post a Comment