Skip to content

Instantly share code, notes, and snippets.

@goish135
Created August 27, 2021 03:38
Show Gist options
  • Save goish135/88854ae5fc20db32565e39c34219518a to your computer and use it in GitHub Desktop.
Save goish135/88854ae5fc20db32565e39c34219518a to your computer and use it in GitHub Desktop.
class Solution:
def multiply(self, num1: str, num2: str) -> str:
if num1=="0" or num2=="0":
return "0"
#print(num1[::-1])
n1 = []
n2 = []
ans = []
for i in num1[::-1]:
n1.append(int(i))
for j in num2[::-1]:
n2.append(int(j))
#print(n1," ",n2)
maX=max(len(n1),len(n2))
#print("maX:",maX)
diff = abs(len(n1)-len(n2))
#print(diff)
if len(n1)>len(n2):
for k1 in range(diff):
n2.append(0)
else:
for k2 in range(diff):
n1.append(0)
#print(n1,n2)
#print(len(n1),len(n2))
for c in range(len(n1)*2):
ans.append(0)
#print("ans:",ans)
for a in range(len(n1)):
for b in range(len(n2)):
#print(a,"-",b)
ans[a+b] += n1[a]*n2[b] #
if ans[a+b] >= 10:
ans[a+b+1] += int((ans[a+b]/10))
ans[a+b] = int(ans[a+b]%10)
#print(ans)
'''
ans.reverse()
print(ans)
ans_str = ""
for an in ans:
'''
print("ans:",ans)
ans_str = ""
head=0
for z in range(len(ans)-1,-1,-1):
if ans[z]!=0 or head==1:
ans_str+=str(ans[z])
head=1
#print(ans_str)
return ans_str
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment