Skip to content

Commit b1a3ac6

Browse files
authored
Update Multiply Strings.cpp
1 parent 8b96103 commit b1a3ac6

File tree

1 file changed

+8
-15
lines changed

1 file changed

+8
-15
lines changed

cpp/041-050/Multiply Strings.cpp

+8-15
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,18 @@ class Solution {
88
reverse(num1.begin(), num1.end());
99
reverse(num2.begin(), num2.end());
1010

11-
for (int i = 0;i < num1.length();i++)
12-
{
13-
int carry(0);
14-
for (int j = 0;j < num2.length();j++)
15-
{
11+
for (int i = 0;i < num1.length();i++) {
12+
int carry = 0;
13+
int j = 0;
14+
while (j < num2.size() || carry > 0) {
1615
int digit = result[i+j] - '0';
17-
int num = (num1[i] - '0') * (num2[j] - '0');
16+
int v = j < num2.size() ? num2[j] : '0';
17+
int num = (num1[i] - '0') * (v - '0');
1818
int res = digit + num + carry;
1919
result[i+j] = (res % 10) + '0';
2020
carry = res / 10;
21-
}
22-
23-
int index = i + num2.size();
24-
while (carry)
25-
{
26-
int digit = result[index] - '0';
27-
int res = digit + carry;
28-
result[index] = (res % 10) + '0';
29-
carry = res / 10;
21+
22+
j++;
3023
}
3124
}
3225

0 commit comments

Comments
 (0)