0%

Leetcode——415. Add Strings(大数加法)

题目

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