题目
Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.
题解
这题很明显就是一个字符串的大数相加。
首先相同位数的相加,然后考虑一下进位符。
如果一个数没有第k位,那么和的第k位就是另一个数的第k位和进位符相加。
最后需要注意以下最后会不会有多出一个进位。
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; int j = num2.size() - 1; string s; int k = 0; while(i >= 0 || j >= 0) { int t = k; if (i < 0) { t += num2[j] - '0'; } else if (j < 0) { t += num1[i] - '0'; } else { t += num2[j] + num1[i] - '0' - '0'; } k = t / 10; char c = '0' + t % 10; s = c + s; i--; j--; } if (k > 0) { s = "1" + s; } return s; } };
|
搬运自CSDN:https://blog.csdn.net/yueyue200830/article/details/88075414