Skip to content

Commit dd98c90

Browse files
committed
Added more
1 parent 1ce37a7 commit dd98c90

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

multiply_strings/solution.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
"""
2+
Given two numbers represented as strings, return multiplication of the numbers
3+
as a string.
4+
5+
Note: The numbers can be arbitrarily large and are non-negative.
6+
"""
7+
8+
9+
class Solution(object):
10+
def multiply(self, num1, num2):
11+
"""
12+
:type num1: str
13+
:type num2: str
14+
:rtype: str
15+
"""
16+
a = num1[::-1]
17+
b = num2[::-1]
18+
n = len(a)
19+
m = len(b)
20+
res = ['0' for i in range(n + m)]
21+
for i in range(n):
22+
c = 0
23+
for j in range(m):
24+
tmp = int(a[i]) * int(b[j]) + int(res[i + j]) + c
25+
digit = tmp % 10
26+
res[i + j] = str(digit)
27+
c = tmp / 10
28+
if c > 0:
29+
res[m + i] = str(c)
30+
res = ''.join(res[::-1])
31+
for i, d in enumerate(res):
32+
if d != '0':
33+
return res[i:]
34+
else:
35+
return '0'
36+
37+
s = Solution()
38+
39+
print s.multiply('2', '21')
40+
print s.multiply('83', '3')

0 commit comments

Comments
 (0)